今天設定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教學有興趣的朋友有幫助。