利用nginx搭建小型的文件服务器

96
anxiaozhu
2017.05.24 22:48* 字数 521

VPS内的文件如果需要共享给其他计算机下载,可以选择ftp的方式,优点是操作性很高,修改删除下载等等都可以,但是速度略慢。
如果仅仅是将VPS作为文件中转站,可以尝试用Nginx架设一个简单的文件服务器。

安装Nginx

centos6可以直接用yum命令安装

yum install nginx

Nginx安装完毕后直接就默认开机启动了,并且创建了/etc/init.d/nginx的服务

# 启动Nginx
/etc/init.d/nginx start

查看Nginx的配置

image.png

由以上两个命令可知,Nginx默认的配置文件在/etc/nginx/nginx.conf
其配置如下:

user www-data;
worker_processes auto;
pid /run/nginx.pid;

events {
        worker_connections 768;
        # multi_accept on;
}

http {

        ##
        # Basic Settings
        ##

        sendfile on;
        tcp_nopush on;
        tcp_nodelay on;
        keepalive_timeout 65;
        types_hash_max_size 2048;
        # server_tokens off;

        # server_names_hash_bucket_size 64;
        # server_name_in_redirect off;

        include /etc/nginx/mime.types;
        default_type application/octet-stream;

        ##
        # SSL Settings
        ##

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
        ssl_prefer_server_ciphers on;

        ##
        # Logging Settings
        ##

        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;

        ##
        # Gzip Settings
        ##

        gzip on;
        gzip_disable "msie6";

        # gzip_vary on;
        # gzip_proxied any;
        # gzip_comp_level 6;
        # gzip_buffers 16 8k;
        # gzip_http_version 1.1;
        # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

        ##
        # Virtual Host Configs
        ##

        include /etc/nginx/conf.d/*.conf;
        include /etc/nginx/sites-enabled/*;
}


#mail {
#       # See sample authentication script at:
#       # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
#       # auth_http localhost/auth.php;
#       # pop3_capabilities "TOP" "USER";
#       # imap_capabilities "IMAP4rev1" "UIDPLUS";
#
#       server {
#               listen     localhost:110;
#               protocol   pop3;
#               proxy      on;
#       }
#
#       server {
#               listen     localhost:143;
#               protocol   imap;
#               proxy      on;
#       }
#}

可以看出,nginx的默认用户是www-data,http的默认配置文件在/etc/nginx/conf.d/.conf/etc/nginx/sites-enabled/内。
其中后者里面有个default配置文件,这个我们不用,可以删除;
新的配置文件可以放到前者内,名字任取,后缀conf。
如果此时nginx没有启动,可以使用

/etc/init.d/nginx start

启动nginx
如果nginx已经启动,我们修改配置之后,可以用

/etc/init.d/nginx reload

更新我们的配置。


image.png

配置Nginx

配置Nginx可以参考教程
nginx安装及配置为简单的文件服务器
用nginx一分钟实现文件服务器
nginx配置静态文件服务器

  • 1、修改/etc/nginx/conf.d/default.conf内的内容
    在开头加入三句话
autoindex on;# 显示目录
autoindex_exact_size on;# 显示文件大小
autoindex_localtime on;# 显示文件时间

修改监听的端口和共享的目录

server {
     listen       8080 default_server;
     listen       [::]:8080 default_server;
     server_name  _;
     root         /root/share/;

     # Load configuration files for the default server block.
     include /etc/nginx/default.d/*.conf;

     location / {
     }

     error_page 404 /404.html;
         location = /40x.html {
     }

     error_page 500 502 503 504 /50x.html;
         location = /50x.html {
     }

 }
  • 2、修改/etc/nginx/nginx.conf
    由于我们使用的是root用户进行的共享,需要修改nginx.conf的用户,否则会出现权限问题,导致访问的时候出现403 Forbidden的错误
user root;
  • 3、访问文件目录
    重启Nginx。
    在浏览器内访问 “http://服务器IP:8080” 即可看到共享出来的目录
  • 4、后续应用
    如果想把文件高速下载到本地,可以参考迅雷配合SS和VPS高速下载大文件
技术笔记
Gupao