Nginx 启动报 [emerg] bind() to 0.0.0.0:XXXX failed (13: Permission denied)错误处理
Permission denied权限不足,主要有以下原因:(一)端口小于1024当端口小于1024时,且账户不是 root 会报错解决方案: 切换 root 账户进行nginx配置(二)端口大于1024主要原因是因为selinux影响端口的开放,系统默认是开启的selinux;Selinux到底是什么?2.1 方案1:关闭selinux# 查看selinux状态getenforce# 临时关闭s
·
Permission denied权限不足,主要有以下原因:
(一)端口小于1024
当端口小于1024时,且账户不是 root
会报错
解决方案: 切换 root
账户进行nginx配置
(二)端口大于1024
主要原因是因为selinux影响端口的开放,系统默认是开启的selinux;
2.1 方案1:关闭selinux
# 查看selinux状态
getenforce
# 临时关闭selinux
setenforce 0 # 0关闭 1开启
# 永久关闭
## 修改selinux配置文件
vi /etc/selinux/config
## 修改如下
SELINUX=enforcing ===》 SELINUX=disabled
# 配置模式说明:
## SELinux服务有三种配置模式:
## enforcing:强制启用安全策略模式,将拦截服务的不合法请求。
## permissive:遇到服务越权访问时,只发出警告而不强制拦截。
## disabled:对于越权的行为不警告也不拦截。
# 查看结果
[root@root]# getenfoce
Enforcing #开启中
#友情提示:设置完成之后,重启nginx服务,即可使用端口
2.2 方案2:selinux强制添加端口
# 安装selinux工具:semanage
yum install -y semanage
## 友情提示:如果没有安装包,则使用方式2: yum provides semanage 安装
## 或者方式3:yum -y install policycoreutils-python.x86_64
# 查看所有开放的端口
semanage port -l
# 查看所有开放的[http服务端口]
semanage port -l | grep http_port_t
http_port_t tcp 80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t tcp 5988
# 查看某个端口是否开放
semanage port -l | grep [端口号]
# 添加端口
semanage port -a -t http_port_t -p tcp [端口号]
## 参数说明:-a表示添加,-t表示类型也就是http_port_t,-p表示协议也就是tcp协议
# 删除端口
semanage port -d -t http_port_t -p tcp [端口号]
## 参数说明: -d表示删除,-t表示类型也就是http_port_t,-p表示协议也就是tcp协议
更多推荐
已为社区贡献1条内容
所有评论(0)