测试机器Centos7,本地安装nginx默认配置文件在/etc/nginx/nginx.conf文件下,保持配置文件不修改,确保include /etc/nginx/conf.d/*.conf未被注释,默认是有的
基本配置
使用虚拟主机,在/etc/nginx/conf.d/文件夹下添加如下download.conf配置文件
server {
listen 80;
# 访问日志
access_log /var/log/nginx/d_access.log;
# 错误日志
error_log /var/log/nginx/d_error.log;
server_name download.com;
# 存放文件的目录
root /var/www/html;
location / {
# 开启文件索引
autoindex on;
# 关闭文件的实际大小on为bytes,off为M、K、G单位
autoindex_exact_size off;
# 默认为off,显示的文件时间为GMT时间,on为本地时间
autoindex_localtime on;
# 修复中文乱码
charset utf-8,gbk;
}
}
运行nginx -t检测配置是否准确
systemctl start nginx.service启动服务,现在浏览器输入http://download.com会列出/var/www/html目录下的文件
注意:
局域网其他机器需要添加
hosts使其地址解析到服务器,linux在/etc/hosts下加一条x.x.x.x download.com,x.x.x.x为nginx服务器地址
nginx需要有进入下载文件夹读取的权限
配置Basic Auth认证
可以为某一目录设置basic auth密码认证
-
htpasswd -c /etc/nginx/passwd username输入密码创建一个passwd文件用于认证 -
在
server部分下增加一个location,设/var/www/html/secret目录为需要密码进入location /secret { autoindex on; autoindex_exact_size off; autoindex_localtime on; auth_basic "Restricted"; auth_basic_user_file /etc/nginx/passwd; }
测试配置文件通过和重启nginx现在文件夹/var/www/html/secret是需要密码访问下载的