文件存放示例
/home/files/picture/
文件夹下有文件文件a.png和b.jpg
/home/files/mp4/
文件夹下有文件文件start.mp4和show.mp4
代理配置示例
location /files/{ #服务器存放文件的路径 alias /home/files/; #自动创建索引,可查看文件夹下有哪些文件,我一般不配置 #autoindex on; }
请求示例
#访问或下载图片
http://195.195.1.11:9001/files/picture/a.png
#播放或下载视频
http://195.195.1.11:9001/files/mp4/start.mp4
问题1:
- 文件代理失败,报类似无权限的信息;
解决办法:chmod -R 777 /home
备注:777权限,文件所有者(User)、同组用户(Group)、其他用户(Other)都是rwx(可读可写可执行)权限,存在安全风险;为了安全,可以授权775权限,other用户只能读和执行。
问题2:
- 当文件夹及文件授权775权限,文件还是代理失败,报类似无权限的信息;
解决办法:将nginx的user 模块指定为root用户,并重启nginx:sbin/nginx -s reopen
或者:sbin/nginx -s stop && sbin/nginx
备注:因为nginx为了安全,默认设置是nobody用户启动工作进程( worker process)。另外一个小知识:只有root用户才能使用小于1024的端口。
其他小知识:
- 中文名文件上传unzip解压文件名乱码问题:unzip -O GBK xxx.zip
- 批量替换同名文件无需提示(mv操作形同rm,操作前三思且备份):mv -f * ../picture