背景:今天突然遇到一個問題,就是我的專案在外網存取不了,直接存取 tomcat 的首頁也存取不到了。這臺伺服器沒有使用 docker 容器 tomcat 映象,就是直接安裝的 tomcat 。
我的解決辦法:
1、關閉伺服器防火牆,最好只允許在使用的相應的埠存取;
2、檢視一下 tomcat 容器是否是執行狀態;假如是的話,就強制性關閉這個程序;
3、再使用命令 ./shutdown.sh
關閉 tomcat ;之後再開啟 tomcat 程序 命令 ./startup.sh
;
4、檢視通過什麼埠可以存取 tomcat.
操作步驟:
1、使用命令firewall-cmd --state
檢視一下防火牆的執行狀態(我的是關閉狀態):
service firewalld stop // 臨時關閉防火牆
service firewalld status // 檢視防火牆執行的資訊
firewall-cmd --state // 檢視防火牆是否執行中
假如是開啟狀態,在安全的情況下,可以直接命令 service firewalld stop
臨時關閉防火牆(重新啟動伺服器就會開啟防火牆),還是建議防火牆只允許放行指定埠,簡單的設定見,這篇文章。
再使用命令 service firewalld status
就可以檢視到,當前是關閉狀態的了。
2、關閉防火牆之後,檢視 tomcat 是否有執行的程序,有的話就強制關閉;
使用命令 ps -ef | grep tomcat
檢視Java程式有無,有就使用 kill -9 ID
,強制關閉;
ps -ef | grep tomcat
如下顯示就往下繼續,不做任何操作;
3、進入你的 tomcat 安裝目錄下的 bin 目錄,先使用命令 ./shutdown.sh
關閉一下 tomcat ,再使用命令 ./strartup.sh
開啟 tomcat 服務程序;
cd /usr/local/tomcat/tomcat/bin
./shutdown.sh
./startup.sh
4、檢視 tomcat 程序資訊,檢視存取的埠;
ps aux | grep tomcat
搜尋存取的埠(我的外網存取是 80);
netstat -apn|grep 80
以上操作完,估計就是可以正常存取了!
我的存取演示:
總結:就是關閉防火牆和檢視存取的埠
有用點個關注,手留餘香! 😗 😗 😗