環境
阿里雲伺服器Ubuntu 16.04.3 LTS
自己弄了個學習的demo,搭建了vue elementui spring boot 前後端分離。將專案部署到伺服器上面。裝好nginx,為了避免衝突,將連接埠改為8001,啟動nginx,發現訪問不了!
(推薦教學:nginx教學)
找出問題所在
1、先查看nginx設定是否正確
nginx -t #查看nginx配置是否正确 也可以切换到nginx的安装目录下的sbin目录下,执行: ./nginx -t
2、查看nginx是否啟動成功
ps -ef | grep nginx #查看nginx端口
執行後發現nginx設定沒問題,且啟動成功了!那麼,我預感到是連接埠沒開放,因為用的是阿里雲的伺服器,需要先設定安全群組。
3、設定阿里雲安全群組,也就是放開對應的端口,讓其他主機可以存取
nginx裡面我配置的連接埠8001,故這裡放開8000-9000範圍的連接埠。但是訪問還是不行,那應該是伺服器本身沒有放開8001這個連接埠。
4、檢查伺服器對應的連接埠是否放開
(1)檢查防火牆是否開啟
sudo ufw status # 如果输出:Status: inactive 说明防火墙已经关闭,按理说端口应该都是开放的,用自己的主机连接远程服务器都是可以的
可以關閉防火牆,放開所有端口,執行下面的命令
ufw disable #关闭防火墙 ufw enable # 开启防火墙
(2)如果為了安全性,開啟了防火牆,可以單獨放開某一個連接埠
查看連接埠是否開放
telnet ip port # telnet 59.110.155.32 8001
我在阿里雲伺服器測試,結果如下:
上圖顯示連接埠8001未放開,連接埠8080放開;
ps:
查看開放的所有連接埠
指令一
netstat -a # 查看所有服务端口
指令二
nmap + ip地址 # 如:nmap 127.0.0.1
很多時候 telnet 完就無法退出了,ctrl c 有時也無法退出;
這個時候先執行:ctrl ] 然後在telnet 命令列輸入 quit 就可以退出了。
放開端口,讓其他主機可以存取。
以上所有都成功了的話,一定是可以訪問的哈!
以上是nginx可以啟動成功卻無法存取的詳細內容。更多資訊請關注PHP中文網其他相關文章!