nginx 搭建文件服务器
本地yum安装的nginx 在/etc/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
是需要密码访问下载的