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