使用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 启动失败内容请搜索自学编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持自学编程网!
- 本文固定链接: https://www.zxbcw.cn/post/195012/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)