1.错误问题
nginx启动成功,但是访问nginx报错502。检查后台项目,使用IP+端口可以正常访问项目的,这说明项目启动成功了。那就是nginx的问题。检查了nginx.conf文件发现配置的反向代理没有问题。最后查看了nginx日志信息,报错信息如下:
13889#13889: *54 connect() to 127.0.0.1:3500 failed (13: Permission denied) while
connecting to upstream, client: 192.168.1.253, server: xxx.xxx.com, request:
"GET /apis/ HTTP/1.1", upstream: "http://127.0.0.1:3500/", host: "xxx.xxx.com"
查看日志路径:
1.源码包离线安装日志查看
日志位置 /usr/local/nginx/logs
2.rpm包安装日志查看
错误日志:/var/log/nginx/error.log
访问日志:/var/log/nginx/access.log
项目部署使用的为rpm安装的,执行命令查看错误日志:
tail -f /var/log/nginx/error.log 动态查看最后输出信息
cat /var/log/nginx/error.log 查看所有内容信息
//error.log错误日志 access.log为访问日志
tail -f /var/log/nginx/error.log 动态查看最后输出信息
cat /var/log/nginx/error.log 查看所有内容信息
//error.log错误日志 access.log为访问日志
2.解决
首先查找该问题,是因为权限不足导致的。
以为是nginx文件夹的问题,把nginx当前目录及目录下所有文件重新授权:
chmod -R 777 nginx
试了下没有效果。
尝试修改nginx.conf文件把第一行的user nginx改为user root。
systemctl reload nginx
重启nginx,没有效果。
最后查找发现此问题的原因是SELinux基于最小权限原则默认拦截了 Nginx 的请求,SELinux 是 Linux 的安全子系统。
解决方法,要么是直接关掉它,要么执行下方指令开启 HTTP 访问
开启 HTTP 访问:
setsebool -P httpd_can_network_connect 1
直接关掉
确认 SELinux 的运行状态
sestatus
临时关闭 SELinux:
setenforce 0
临时启动 SELinux:
setenforce 1
永久关闭/启动:
修改/etc/sysconfig/selinux文件
SELINUX=disabled 后重启系统
关掉SELinux,再次访问nginx。成功跳转项目首页。问题解决。
- Permission failed denied nginx 日志permission failed denied nginx permission口号denied failed permission renderd failed denied permission权限failed denied permission connect denied docker docker permission connect denied permission openssh denied please permission权限denied问题 permission publickey coding denied permission stevenlong smith-bing denied