今天寫了一下node
的小demo,於是想放到阿裡雲服務器上,但是訪問時卻發生了錯誤。考慮了下,覺得問題在於端口號上,我寫的node
demo是監聽的3000
端口,然而linux
下有防火牆默認只有80
端口開放,於是嘗試了下將服務器的3000
端口打開,期間還是遇坑不少,下面就梳理下整個過程:
網上的大部分資料都是用iptables
防火牆的,但是阿裡雲的centos 7
默認防火牆是firewall
。最為簡單的方法其實就是關閉我們的防火牆:
systemctl status firewalld
systemctl stop firewalld
這樣就解決了,在訪問下ip地址:端口號
就可以看到所寫的應用啦! 但是這樣的問題是很不安全,其實可以將firewall
服務禁用,應用iptables
服務(網上大部分啟用端口的資料都是基於iptables
服務)。
由於沒有防火牆會造成不安全,所以給服務器安裝一應用更廣的防火牆iptables
,首先要禁用firewall
,通過yum
安裝iptables
:
systemctil disable firewalldyum install -y iptables-services
systemctl start iptables
啟動後可以通過systemctl status iptables
查看狀態。
iptables
文件備份下:cp -a /etc/sysconfig/iptables /etc/sysconfig/iptables.bak
iptables -P INPUT DROP
iptables -I INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPTiptables -I INPUT -p tcp --dport 3000 -m state --state NEW -j ACCEPT
iptables-save > /etc/sysconfig/iptables
systemctl enable iptables.servicesystemctl reboot
這樣就將所需的端口3000
啟用,進入到目錄下運行node app.js
,就可以來看node
demo啦! 安利下一個小的腳手架: https://github.com/zp1996/lsgo-cli
http://xxxxxx/Linuxjc/1156026.html TechArticle