nginx 在linux下端口被禁用问题
?
摘要:ginx部署的时候主要在两种情况下会出现被禁用的情况:
跟selinux或者是firewall有关系
?
?
?
情况1:
nginx: [emerg] bind() to 0.0.0.0:7990 failed (13: permission denied)
这种情况是由于selinux的policy的原因被禁用的。
采用semanage工具就可以处理。
这里补充一下:当我们知道工具名称的时候,如何通过yum来查找其存在哪个包里。
如何找到某个命令在哪个安装包?
#yum provides /usr/sbin/semanage
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* epel: fedora.cs.nctu.edu.tw
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
policycoreutils-python-2.5-33.el7.x86_64 : SELinux policy core python utilities
Repo : base
Matched from:
Filename : /usr/sbin/semanage
根据上面查询包是: policycoreutils-python
因此,安装工具
yum install policycoreutils-python
查找http port selinx的policy阻止的
#semanage port -l | grep http_port_t
http_port_t tcp 80, 81, 443, 488, 8008, 8009, 8443, 9000
增加端口:
sudo semanage port -a -t http_port_t -p tcp 7990
有点类似centos7的firewall
第二种情况就是firewall阻止了端口
?
查看端口:
firewall-cmd --list-ports
增加端口:
firewall-cmd --add-port=7990/tcp --zone=public --permanent
firewall-cmd --reload