场景
在Linux上部署了一个项目,该项目一个添加接口需要存储图片。设置完nginx后发现,图片一直访问不了。
具体情况
设置如下:
server {
listen 8299;
server_name localhost;
location / {
root /root/zygh/sjzc/;
autoindex on;
}
}
访问图片报错:403 Forbidden
问题分析
只看页面的报错说是没权限,查看文件权限都是只读;
查看nginx的error日志:内容如下
2023/05/23 14:21:55 [error] 56520#0: *78 open() “/root/zygh/sjzc/photo/1682319279479.jpg” failed (13: Permission denied), client: 172.16.23.243, server: localhost, request: “GET /photo/1682319279479.jpg HTTP/1.1”, host: “172.16.100.7:8299”
修改文件权限为rwx后还是不行。
怀疑是nginx执行用户,没有权限。
问题处理
修改nginx启动用户:user nginx改为user root。
重载配置:nginx -s reload
最终访问成功。