鍍金池/ 問(wèn)答/Linux  HTML/ 在服務(wù)器上部署node應(yīng)用的問(wèn)題

在服務(wù)器上部署node應(yīng)用的問(wèn)題

1.我在服務(wù)器根目錄下創(chuàng)建一個(gè)app.js文件:

touch app.js

2.用vim打開(kāi):

vim app.js

3.寫(xiě)一個(gè)最基本的node服務(wù):

var http = require('http')
http.createServer(function(req,res) {
    res.writeHead(200, {'Content-Type': 'text/plain'})
    res.end('first node')
})
.listen(8081)
console.log('your server is running at http://120.79.xxx.xx:8081/')

4.保存退出,執(zhí)行:

node app.js

5.命令行打印出your server is running at http://120.79.xxx.xx:8081/來(lái),但是打開(kāi)瀏覽器輸入:http://120.79.xxx.xx:8081/依然無(wú)法訪問(wèn),可能防火墻未開(kāi)通8081的端口號(hào)

6.我裝的是CENTOS7.3,它使用firewall來(lái)代替iptables,執(zhí)行以下命令查看防火墻開(kāi)放的端口號(hào):

firewall-cmd --list-ports

顯示:80/tcp,顯然防火墻只開(kāi)放了80端口

7.執(zhí)行以下命令來(lái)開(kāi)放8081端口:

firewall-cmd --zone=public --add-port=8081/tcp --permanent

然后重啟防火墻:

firewall-cmd --reload

8.執(zhí)行node app.js開(kāi)啟node服務(wù),打開(kāi)瀏覽器訪問(wèn)120.79.xxx.xx:8081發(fā)現(xiàn)還是不行,不過(guò)試了下:

curl 127.0.0.1:8081

卻能夠成功輸出信息first node
圖片描述
這就很費(fèi)解了,查了好多資料都沒(méi)找到解決辦法:
清除瀏覽器緩存不行,谷歌,火狐,甚至ie我都試過(guò),換瀏覽器都不行。
圖片描述
help me please!!

回答
編輯回答
法克魷

curl 能訪問(wèn)就不是nodejs的問(wèn)題了,應(yīng)該還是防火墻的問(wèn)題,先看看端口通不通

telnet ip port
2017年1月23日 12:39
編輯回答
生性

如果阿里云服務(wù)器的話還有個(gè)安全規(guī)則 需要配置一下端口范圍

2018年2月23日 10:28
編輯回答
朕略傻

構(gòu)建nodejs環(huán)境及解決node服務(wù)器外網(wǎng)端口無(wú)法訪問(wèn)
http://blog.csdn.net/zhy42120...

/sbin/iptables -I INPUT -p tcp --dport 8888 -j ACCEPT #開(kāi)啟8888端口

我是centos 7 所以運(yùn)行service network restart,運(yùn)行成功,在外網(wǎng)訪問(wèn)到

希望能幫到你

2017年6月27日 01:31