记忆角落

  • {{ item.name }}
  • Nginx 启动报 [emerg] bind() to 0.0.0.0:XXXX failed (13: Permission denied)错误处理
  • (一)端口小于1024
  • (二)端口大于1024
  • 关闭selinux
  • selinux强制添加端口
  • 首页
  • 关于
  • 归档
  • 邻居
  • 捐赠

Nginx 启动报 [emerg] bind() to 0.0.0.0:XXXX failed (13: Permission denied)错误处理

  • 郭良俊只狗
  • 2023-03-03
  • 0

Nginx 启动报 [emerg] bind() to 0.0.0.0:XXXX failed (13: Permission denied)错误处理

Permission denied权限不足,主要有以下原因:

(一)端口小于1024

当端口小于1024时,且账户不是 root 会报错

解决方案: 切换 root 账户进行nginx配置

(二)端口大于1024

主要原因是因为selinux影响端口的开放,系统默认是开启的selinux;

关闭selinux

# 查看selinux状态
getenforce
# 关闭selinux
setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

# 配置模式说明:
## SELinux服务有三种配置模式:
##  enforcing:强制启用安全策略模式,将拦截服务的不合法请求。
##  permissive:遇到服务越权访问时,只发出警告而不强制拦截。
##  disabled:对于越权的行为不警告也不拦截。

# 查看结果
[root@root]# getenfoce
Enforcing  #开启中

#友情提示:设置完成之后,重启nginx服务,即可使用端口

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协议
© 2012 - 2023 记忆角落 网站统计
Theme by Wing
粤ICP备14056850号-1 又拍云CDN赞助