本文將詳細講解在 CentOS 7.4 系統上如何安裝tomcat 9,tomcat是沒有32位和64位之分的。html
/usr/local/
下創建一個tomcat的文件夾[root@VM_0_9_centos ~]# cd /usr/local [root@VM_0_9_centos local]# mkdir tomcat9 [root@VM_0_9_centos local]# cd tomcat9/ [root@VM_0_9_centos tomcat9]# ls apache-tomcat-9.0.7.tar.gz [root@VM_0_9_centos tomcat9]#
[root@VM_0_9_centos tomcat9]# tar -zxvf apache-tomcat-9.0.7.tar.gz
在Linux使用過程當中,須要瞭解當前系統開放了哪些端口,而且要查看開放這些端口的具體進程和用戶,能夠經過netstat命令進行簡單查詢。
java
netstat命令各個參數說明以下:
-t : 指明顯示TCP端口
-u : 指明顯示UDP端口
-l : 僅顯示監聽套接字(所謂套接字就是使應用程序可以讀寫與收發通信協議(protocol)與資料的程序)
-p : 顯示進程標識符和程序名稱,每個套接字/端口都屬於一個程序。
-n : 不進行DNS輪詢,顯示IP(能夠加速操做)
便可顯示當前服務器上全部端口及進程服務,於grep結合可查看某個具體端口及服務狀況。
netstat -ntlp //查看當前全部tcp端口∙
netstat -ntulp | grep 80 //查看全部80端口使用狀況∙
netstat -an | grep 3306 //查看全部3306端口使用狀況∙
通常我會把原來的tomcat的8080端口改掉,進入tomcat的conf目錄下,編輯server.xml文件.
端口我改爲了8888,並添加了一個URIEncoding="UTF-8",修改了server.xml必須重啓tomcat.
進入到conf修改server.xml來修改tomcat的端口號.linux
[root@VM_0_9_centos conf]# vim server.xml
以前我已講過,由於Linux的防火牆默認只對外開放了一個22的端口,其餘的端口都沒打開。因此你須要把它的防火牆設
置一下,讓它對tomcat的8888端口號放行。
使用 cd ~ 命令切換到當前用戶主目錄(即root),而後使用以下命令來設置Linux的防火牆,使其對tomcat的8080端口號放
行。apache
Centos7.4開啓端口方法
例如:開放80端口方法以下:bootstrap
# firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,沒有此參數重啓後失效)
# firewall-cmd --reload
# firewall-cmd --zone=public --query-port=80/tcp
# firewall-cmd --zone=public --remove-port=80/tcp --permanent
[root@VM_0_9_centos conf]# cd / [root@VM_0_9_centos /]# firewall-cmd --zone=public --add-port=8888/tcp --permanent success [root@VM_0_9_centos /]# firewall-cmd --reload success [root@VM_0_9_centos /]# firewall-cmd --zone=public --list-ports 8088/tcp 8080/tcp 80/tcp 8888/tcp [root@VM_0_9_centos /]# firewall-cmd --zone=public --query-port=80/tcp yes
[root@VM_0_9_centos /]# cd /usr/local/tomcat9/apache-tomcat-9.0.7/bin/ [root@VM_0_9_centos bin]# ./startup.sh Using CATALINA_BASE: /usr/local/tomcat9/apache-tomcat-9.0.7 Using CATALINA_HOME: /usr/local/tomcat9/apache-tomcat-9.0.7 Using CATALINA_TMPDIR: /usr/local/tomcat9/apache-tomcat-9.0.7/temp Using JRE_HOME: /usr/java/jdk-10.0.2/ Using CLASSPATH: /usr/local/tomcat9/apache-tomcat-9.0.7/bin/bootstrap.jar:/usr/local/tomcat9/ apache-tomcat-9.0.7/bin/tomcat-juli.jar Tomcat started.
systemctl
是CentOS7的服務管理工具中主要的工具,它融合以前service
和chkconfig
的功能於一體。vim
firewalld-cmd
假設Tomcat的安裝路徑爲/usr/local/tomcat9/apache-tomcat-9.0.7centos
catalina.sh
在執行的時候會調用同級路徑下的setenv.sh
來設置額外的環境變量,所以在/usr/local/tomcat9/apache-tomcat-9.0.7/bin
路徑下建立setenv.sh
文件,內容以下:tomcat
# 在tomcat目錄下面的bin目錄下面建立setenv.sh文件, # 由於catalina.sh在執行的時候會調用同級路徑下的setenv.sh來設置額外的環境變量。 export CATALINA_HOME=/usr/local/tomcat9/apache-tomcat-9.0.7 export CATALINA_BASE=/usr/local/tomcat9/apache-tomcat-9.0.7 #add tomcat pid CATALINA_PID="$CATALINA_BASE/temp/tomcat.pid" #add java opts JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"
tomcat.service
文件在/usr/lib/systemd/system
路徑下添加tomcat.service
文件,內容以下:服務器
# 在/usr/lib/systemd/system路徑下添加tomcat.service文件,內容以下: [Unit] Description=Tomcat After=syslog.target network.target remote-fs.target nss-lookup.target [Service] Type=forking Environment="JAVA_HOME=/usr/java/jdk-10.0.2/" PIDFile=/usr/local/tomcat9/apache-tomcat-9.0.7/temp/tomcat.pid ExecStart=/usr/local/tomcat9/apache-tomcat-9.0.7/bin/startup.sh ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target
chmod 754 tomcat.service
# 開機啓動 systemctl enable tomcat.service # 禁止開機啓動 systemctl disable tomcat.service # 啓動服務 systemctl start tomcat.service # 關閉服務 systemctl stop tomcat.service # 從新啓動 systemctl restart tomcat.service
參考資料:tcp