搭建nginx文件服务器(保姆级)

一、背景

    我们在工作过程中,有许多大的镜像或者安装包等,占用了我们本地电脑大量空间,并且下载速度慢,搭建一个文件服务器,可以高效的储存文件,以及wget下载。

二、操作步骤

1、下载nginx安装包并安装(编译安装)

//下载nginx安装包,nginx官网地址:http://nginx.org/
wget http://nginx.org/download/nginx-1.13.7.tar.gz                                                                          
//安装nginx依赖包
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel                                                 
//创建nginx安装目录并解压安装包
mv  nginx-1.13.7 nginx   /usr/local/                                                                                                    
tar -zxvf nginx-1.13.7.tar.gz                                                                                                               
//进入nginx目录,安装证书,并安装nginx
mv nginx-1.13.7 nginx                                                                                                                       
cd nginx                                                                                                                                             
//执行命令 考虑到后续安装ssl证书 添加两个模块
./configure --with-http_stub_status_module --with-http_ssl_module                                                 
//make安装nginx
make && make instal                                                                                                                    l
//启动nginx
./nginx      

2、修改nginx.cof配置文件

//进入conf目录
cd /usr/local/nginx/conf                                                                                                                      
//修改nginx.conf
vim nginx.conf       
server {
    listen 80;
    server_name  localhost;
    charset utf-8;
    root    /home/downloads;                  # 文件存放目录
 
    # 下载
    location / {
        autoindex on;                         # 启用自动首页功能
        autoindex_format html;                # 首页格式为HTML
        autoindex_exact_size off;             # 文件大小自动换算
        autoindex_localtime on;               # 按照服务器时间显示文件时间
 
        default_type application/octet-stream;# 将当前目录中所有文件的默认MIME类型设置为
                                              # application/octet-stream
 
        if ($request_filename ~* ^.*?\.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx)$){
            # 当文件格式为上述格式时,将头字段属性Content-Disposition的值设置为"attachment"
            add_header Content-Disposition: 'attachment;'; 
        }
        sendfile on;                          # 开启零复制文件传输功能
        sendfile_max_chunk 1m;                # 每个sendfile调用的最大传输量为1MB
        tcp_nopush on;                        # 启用最小传输限制功能
 
#       aio on;                               # 启用异步传输
        directio 5m;                          # 当文件大于5MB时以直接读取磁盘的方式读取文件
        directio_alignment 4096;              # 与磁盘的文件系统对齐
        output_buffers 4 32k;                 # 文件输出的缓冲区大小为128KB
 
#       limit_rate 1m;                        # 限制下载速度为1MB
#       limit_rate_after 2m;                  # 当客户端下载速度达到2MB时进入限速模式
        max_ranges 4096;                      # 客户端执行范围读取的最大值是4096B
        send_timeout 20s;                     # 客户端引发传输超时时间为20s
        postpone_output 2048;                 # 当缓冲区的数据达到2048B时再向客户端发送
        chunked_transfer_encoding on;         # 启用分块传输标识
    }
}

3、重启nginx

//进入启动目录
cd /usr/local/nginx/sbin/
//重启nginx
./nginx -s reload 

三、效果

1、效果图(浏览器访问http://+ip)
在这里插入图片描述

2、模拟其他服务器来文件服务器wget下载文件(喔的天,93M/S)
在这里插入图片描述

<think>好的,用户想要一个关于使用Nginx搭建服务器保姆教程。我需要先回顾一下提供的引用内容,看看里面有什么有用的信息。 引用1提到了下载Nginx安装包、安装依赖、编译安装以及启动Nginx步骤。用户可能对编译安装的详细步骤感兴趣,但需要注意不同系统可能有差异。比如,Ubuntu和CentOS的依赖包名称可能不同,需要区分。 引用2是关于Ubuntu上部署Nginx的,提到了配置文件的位置,比如nginx.conf和虚拟主机的配置。这部分对用户配置服务器很重要,特别是虚拟主机的设置,可能需要详细说明。 引用3来自阿里云的教程,提到编译安装时可能出现的版本问题和路径问题。用户可能会遇到类似问题,所以需要提醒注意事项,比如指定安装目录和使用nginx -c命令加载配置。 引用4是关于CentOS7搭建FastDFS并通过Nginx访问的,虽然和用户的需求不完全相关,但里面的模块添加和Nginx配置可能有参考价值,比如如何添加第三方模块。 用户的需求是搭建服务器,可能包括基本的静态文件服务器或者反向代理。需要分步骤讲解安装、配置、启动和验证。同时,用户可能需要知道如何设置虚拟主机和处理常见问题,比如权限或防火墙设置。 首先,确定用户的操作系统,但引用里有Ubuntu和CentOS的例子,可能需要通用步骤或分别说明。不过用户可能更倾向于他们使用的系统,但如果没有指定,可能需要给出通用的方法,比如使用包管理器安装,或者编译安装。 安装部分:需要安装依赖,然后下载源码编译,或者直接通过包管理器安装。引用1和引用2有不同的方法,可能需要比较这两种方法,并解释各自的优缺点。比如,包管理安装更简单,但版本可能较旧;编译安装可以自定义模块和版本。 配置部分:需要编辑nginx.conf或sites-available中的配置文件,设置server块,指定根目录、监听端口等。引用2提到了sites-enabled和sites-available的用法,可能需要解释如何创建符号链接启用站点。 启动和验证:启动Nginx服务,检查状态,使用curl或浏览器访问测试页面。同时,防火墙设置可能需要开放80端口或443(如果使用SSL)。 问题排查:比如权限问题,SELinux或AppArmor的配置,日志文件的位置(如/var/log/nginx/error.log)查看错误信息。 另外,用户可能需要SSL证书的配置,引用1和引用3提到了SSL模块的编译,需要确保安装时包含--with-http_ssl_module,并配置证书路径。 最后,生成相关问题,可能涉及优化、HTTPS配置、负载均衡、虚拟主机管理、日志分析等,这些都是在搭建服务器后常见的进阶问题。</think>以下是Nginx服务器搭建保姆教程,整合了编译安装和包管理安装两种方式,并提供关键配置说明: ### 一、基础环境准备 1. **安装依赖包** - CentOS系统: ```bash yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel ``` - Ubuntu系统: ```bash apt-get install build-essential libpcre3 libpcre3-dev zlib1g-dev libssl-dev ``` 2. **下载安装包** ```bash wget http://nginx.org/download/nginx-1.24.0.tar.gz tar -zxvf nginx-1.24.0.tar.gz cd nginx-1.24.0 ``` ### 二、编译安装(自定义模块) ```bash # 配置编译参数(含SSL模块) ./configure --prefix=/usr/local/nginx \ --with-http_stub_status_module \ --with-http_ssl_module # 编译并安装 make && make install ``` > 关键提示:若出现`nginx command not found`错误,需将安装路径加入环境变量[^3] ### 三、快速安装(包管理器) - **Ubuntu/Debian**: ```bash apt-get install nginx ``` - **CentOS/RHEL**: ```bash yum install epel-release yum install nginx ``` ### 四、配置文件管理 1. **主配置文件路径** - 编译安装:`/usr/local/nginx/conf/nginx.conf` - 包管理安装:`/etc/nginx/nginx.conf` 2. **虚拟主机配置** ```nginx server { listen 80; server_name example.com; root /data/www; # 文件服务器根目录 autoindex on; # 启用目录列表 location / { try_files $uri $uri/ =404; } } ``` > 需在`sites-enabled`目录创建符号链接启用配置[^2] ### 五、服务启动与验证 ```bash # 启动服务 /usr/local/nginx/sbin/nginx # 编译安装 systemctl start nginx # 包管理安装 # 验证行状态 curl -I 127.0.0.1 ``` ### 六、防火墙配置 ```bash firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --reload ``` ### 七、常见问题处理 1. **权限问题** ```bash chown -R nginx:nginx /data/www chmod -R 755 /data/www ``` 2. **查看错误日志** ```bash tail -f /var/log/nginx/error.log ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值