Centos7安装Nginx并配置为简单的文件服务器

安装

直接yum安装默认源的nginx:

shell> yum install nginx -y

或者,下载想要版本的rpm包后安装:

shell> wget http://nginx.org/packages/rhel/7/x86_64/RPMS/nginx-1.18.0-1.el7.ngx.x86_64.rpm
shell> yum install -y ./nginx-1.18.0-1.el7.ngx.x86_64.rpm

配置

配置文件位于:/etc/nginx/nginx.conf,里面可以修改处理器数量、日志路径、pid文件路径等,默认的日志:

错误日志    /var/log/nginx/error.log
访问日志    /var/log/nginx/access.log

在nginx.conf末尾有一句:include /etc/nginx/conf.d/*.conf;  推荐把用户自己的配置放到conf.d/

下面把默认的server修改为一个简单的文件服务器,vi /etc/nginx/conf.d/default.conf,修改监听端口listen和保存文件的目录:

autoindex on;# 显示目录
autoindex_exact_size on;# 显示文件大小
autoindex_localtime on;# 显示文件时间

server {
    listen       8080 default_server;
    listen       [::]:8080 default_server;
    server_name  _;
charset utf-8; # 中文名的文件不乱码
root /data/file; # 保存文件的路径 ...省略... }

启动

shell> systemctl restart nginx

浏览器访问,http://[nginx-ip]:8080,可以看到/data/file目录下的文件,点击可下载:

另,修改了nginx配置后可以在不影响使用的情况下重载

shell> nginx -s reload

登录验证

使用openssl生成加密后的密码:

shell> openssl passwd -1
  #输入两次密码后会打印出加密后的字符串
shell> touch pwd.db  # 新建pwd.db文件,内容如下:   用户名:加密后的字符串

若安装了httpd-tools可以用htpasswd命令,更简洁:

shell> htpasswd -c pwd.db [用户名]
  New password:
  Re-type new password:

下面,将pwd.db文件放到nginx的配置目录,比如:/etc/nginx/,然后在nginx.conf中增加配置:

auth_basic "需要验证用户名和密码";    # 验证用户名密码时的说明文字
auth_basic_user_file pwd.db; # 以nginx.conf所在目录的相对路径

重载或重启nginx后再次访问则需要验证用户名密码。

OVER

posted @ 2016-12-15 15:05  晚来秋  阅读(34111)  评论(0编辑  收藏  举报