Heim >Backend-Entwicklung >PHP-Tutorial >nginx配置非80端口访问不了
今天配置一个nginx虚拟主机监听了一个自定义端口8118,重启nginx后在自己电脑浏览器访问连接不上:
查看监听端口: netstat -lnt
返回已监听到8118端口
考虑是防火墙原因,就去查看防火墙状态: /etc/init.d/iptables status
但是什么也没输出,接着我停掉防火墙
<code>/etc/init.d/iptables <span>stop</span></code>
自己电脑依然访问不到,然后我在本机 wget 127.0.0.1:8118
返回403,说明可以访问。奇了怪了真是。
因为的我的账号是非root账号,我无意中查看防火墙时加了个sudo返回了防火墙开放的端口,而防火墙一直开着。也就是说原因就是因为防火墙没有开放端口。
接下来就好办了:
<code>vi /etc/sysconfig/iptables</code>
看到防火墙开启了22 3306 和80端口,添加一条新建的端口
<code><span>-A</span> INPUT <span>-m</span> state <span>--</span>state <span>NEW</span><span>-m</span> tcp <span>-p</span> tcp <span>--</span>dport <span>8118</span><span>-j</span> ACCEPT</code>
重启防火墙:/etc/init.d/iptables restart
那为什么执行iptables脚本没有任何输出,而不像其他脚本没权限时报错呢,大概看了下iptables的启动脚本其中有一行:
<code><span># only usable for root</span> [ <span>$EUID</span> = <span>0</span> ] || <span>exit</span><span>4</span></code>
说明只有root才能调用iptables启动脚本.我真是孤陋寡闻了
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });以上就介绍了 nginx配置非80端口访问不了,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。