服务器 
首页 > 服务器 > 浏览文章

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

(编辑:jimmy 日期: 2024/11/16 浏览:3 次 )

使用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解决403 forbidden的完整步骤
下一篇:deepin20 安装英伟达闭源驱动的步骤详解
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。