nginx已经配置server及端口20002,telnet不通:
telnet 127.0.0.1 20002 trying 127.0.0.1... telnet: connect to address 127.0.0.1: connection refused
一、检查
systemctl status nginx.service
nginx: [emerg] bind() to 0.0.0.0:20002 failed (13: permission denied)
二、解决阻止nginx bind端口问题
yum install policycoreutils-python semanage port -a -t http_port_t -p tcp 20002
问题 | centos 7 解决方案 |
---|---|
dnf 不可用 | 使用 yum |
semanage 不可用 | yum install policycoreutils-python |
selinux 阻止 nginx 绑定端口 | semanage port -a -t http_port_t -p tcp 20002 |
临时测试 selinux 影响 | setenforce 0(仅测试用) |
检查端口是否被占用 | ss -tulnp | grep 20002 |
三、重启
systemctl restart nginx
四、本地测试
curl http://localhost:20002 本地访问响应ok
五、远端测试
客户端通过游览器访问http://ip:20002 无响应
开放端口
sudo firewall-cmd --zone=public --add-port=20002/tcp --permanent sudo firewall-cmd --reload sudo firewall-cmd --list-ports
客户端通过游览器访问http://ip:20002 响应ok
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论