详解Nginx启动失败的几种错误处理

使用Nginx做Web服务器过程中,碰到过以下几个问题:

1、nginx启动失败

systemctl start nginx.service

启动nginx失败,报错信息如下:

Starting nginx: nginx: [emerg] bind() to 0.0.0.0:**** failed (13: Permission denied)

这通常是因为开启了SELinux的原因,使用命令 getenforce 可以查看SELinux状态,如果输出为 enforcing 表示已开启。用以下方法关闭:

临时关闭selinux

setenforce 0 ##设置SELinux 成为permissive模式
setenforce 1 ##设置SELinux 成为enforcing模式

永久关闭selinux

修改 /etc/selinux/config 文件
 将 SELINUX=enforcing 改为 SELINUX=disabled
重启机器即可

2、403 Forbidden 错误

nginx配置好后,访问页面出现 403 Forbidden 错误,可以查看错误日志来判断问题原因。在 /etc/nginx/nginx.conf 文件中指定了错误日志文件名,默认是 /var/log/nginx/error.log,使用命令

tail /var/log/nginx/error.log

查看,如果发现有类似 index.html failed (13: Permission denied) 的信息,通常是nginx用户权限和网站目录文件的用户权限不一致的原因(因为网站目录文件的所属用户通常是xxx或root,而nginx的默认工作进程用户是nginx,这可以在 /etc/nginx/nginx.conf 中修改),我的解决方法是不修改nginx.conf,而是以root用户登录,同时把网站目录文件放在 /usr/share/nginx/xxx 下(保证所有文件的所属用户都是root),之后重启nginx,就可以正常访问了。

到此这篇关于详解Nginx启动失败的几种错误处理的文章就介绍到这了,更多相关Nginx 启动失败内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(详解Nginx启动失败的几种错误处理)