问题背景
- nginx 配置好以后 发现请求不能转发
问题分析
- 查看Nginx 日志,Linux 日志默认路径
# 路径
/var/log/nginx/
# 日志提示
error.log.3.gz:2019/10/28 21:39:39 [crit] 2822#2822: *16 stat() "/root/web/dist/index.html" failed (13: Permission denied)
https://stackoverflow.com/questions/25774999/nginx-stat-failed-13-permission-denied
- 查阅资料
原因为Nginx 的用户权限问题,参考上文
解决方案
- 方案一
修改 Nginx 的 执行用户
/etc/nginx/nginx.conf
修改 user www-data 为 user root
# 检测 Nginx 配置文件
nginx -t
# 热加载配置文件
nginx -s reload
- 方案二
给方案一中提到的 nginx 默认用户 授被拒绝目录的访问权限
chmod g+x /root/web/
nginx -s reload
总结
遇到问题分析执行日志 ,查找错误信息,Google 搜索异常关键字,高效解决问题
小资料
- chmod 参数说明
chmod g+x path
man chmod
u 用户
g 用户组
o 其他
a 所有