配置和啓動Tomcat無法訪問的問題(已解決)
1、Tomcat啓動後無法訪問
1.可以正常關閉Tomcat
那就是正常啓動了,那應該是端口的問題
解決:
1. 看阿里雲8080端口是否允許訪問(安區組有沒有開放)
如圖表示允許訪問
如果沒有,則需要開放
相關鏈接:https://blog.csdn.net/qingcheng157/article/details/80262829
2.看服務器的8080端口有沒有開放
查看已經開放的端口:
firewall-cmd --list-ports
如果沒有則需要開啓端口
CentOS開放8080端口
輸入指令 firewall-cmd --state
查看防火牆是否開啓
如果沒有開啓,則需要開啓防火牆 指令systemctl start firewalld.service
輸入指令 firewall-cmd --zone=public --add-port=8080/tcp --permanent
開放8080端口
輸入指令 systemctl restart firewalld.service
重啓服務器
輸入指令 firewall-cmd --reload
重新加載
如果一開始啓動了tomcat 再開放端口,要先停止服務再開啓,開啓後即可訪問8080端口
2.Tomcat關閉報錯
說明沒有正確開啓Tomcat服務
打開 /usr/local/tomcat/apache-tomcat-9.0.34/logs
路徑下的 catalina.out
查看無法開啓Tomcat的原因
我遇到的問題是
28-May-2020 18:35:53.698 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler [“http-nio-8080”]
28-May-2020 18:35:53.717 SEVERE [main] org.apache.catalina.util.LifecycleBase.handleSubClassException Failed to initialize component [Connector[HTTP/1.1-8080]]
org.apache.catalina.LifecycleException: Protocol handler initialization failed
即端口號被佔用
解決方法:
查找被佔用的端口
netstat -tln
netstat -tln | grep 8080
netstat -tln 查看端口使用情況,而netstat -tln | grep 8080 則是隻查看端口8080的使用情況
查看端口屬於哪個程序?端口被哪個進程佔用
lsof -i :8080
如果lsof
不可用,輸入如下指令安裝即可
yum install lsof
殺掉佔用端口的進程
kill -9 進程id
即
kill -9 4504
2、啓動Tomcat速度慢
在Tomcat的bin目錄下找到catalina.sh,然後打開它,在以下位置添加一行代碼:
-Djava.security.egd=file:/dev/urandom
如果想知道原理可以看如下鏈接
https://blog.csdn.net/qing_gee/article/details/86705890