linux安裝tomcat部署靜態網頁


一、前置條件

   安裝tomcat需要先安裝jdk,所以沒有安裝jdk同學,詳見參考文章

二、Linux上安裝tomcat

1. 下載Apache tomcat

    tomcat官網下載地址

    在左邊,可以選擇下載各種版本的tomcat。根據服務器操作系統選擇下載。Linux操作系統就下載tar.gz包。

    我下載的文件名是:apache-tomcat-8.5.37.tar.gz

2. 檢查linux是否安裝tomcat 

    輸入rpm -qa|grep tomcat 

    查看下系統信息,確認是32位還是64位:uname -a   

3. 上傳服務器、解壓縮tomcat

    使用WinSCP或者Xftp等工具將tar.gz壓縮包上傳到 /usr/local 目錄中,以下操作命令都需要在root賬戶下操作。

    進入目錄解壓安裝包

    進入目錄:cd /usr/local

    解壓文件:tar -zxvf apache-tomcat-8.5.37.tar.gz  

    將目錄apache-tomcat-8.5.37重命名為tomcat,方便一些

    重命名文件:mv apache-tomcat-8.5.37  tomcat8

4. 配置環境變量

    輸入:vim /etc/profile 打開配置文件,按 i 進入編輯模式,在profile文件尾部 unset -f pathmunge 后面添加如下內容:

復制代碼
unset i
unset -f pathmunge
export JAVA_HOME=/usr/local/java/jdk1.8.0_221
export JRE_HOME=${JAVA_HOME}/jre
export CATALINA_HOME=/usr/local/tomcat8
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:${CATALINA_HOME}/bin
export PATH=$PATH:${JAVA_PATH}:$PATH
復制代碼

   編輯完之后,按Esc 並輸入  :wq(小寫)  保存並退出編輯,然后輸入以下指令:source /etc/profile 刷新環境配置使profile文件立即生效    

5. 正常啟動

    運行  /usr/local/tomcat8/bin/startup.sh  就會啟動tomcat,在瀏覽器中訪問http://localhost:8080了,能看到如下界面,說明訪問成功。

6. 正常關閉

   運行 /usr/local/tomcat8/bin/shutdown.sh  就會關閉tomcat

7. 修改tomcat配置

   進入 /usr/local/tomcat8/conf 目錄修改server.xml中的tomcat端口

   運行 vim server.xml,用“/8080”定位到8080端口。如下圖:  

   可以修改端口,默認8080,然后按ESC鍵,然后按 :wq(注意有一個英文冒號),保存並退出。

8. 局域網內無法訪問解決辦法    

   訪問本地:http://localhost:8080/正確。但局域網內無法訪問,而且服務器可ping通。

   注意:如果執行 firewall-cmd --zone=public --add-port=3690/tcp --permanent,提示FirewallD is not running錯誤,則說明防火牆未開啟。

   1. 通過 systemctl status firewalld 查看firewalld狀態,發現當前是Active: inactive (dead)狀態,即防火牆未開啟。

   2. 通過  systemctl start firewalld  開啟防火牆,沒有任何提示即開啟成功。

   3. 再次通過 systemctl status firewalld 查看firewalld狀態,顯示running即已開啟了。

   4. 如果要關閉防火牆設置,可能通過 systemctl stop firewalld 這條指令來關閉該功能。 

   先查看防火牆開放端口列表對於Centos7系統 firewall-cmd --zone=public --list-ports

   如果沒有8080端口,添加端口

  •  如果是firewalld防火牆 (對於Centos7系統),開啟防火牆端口 firewall-cmd --zone=public --add-port=8080/tcp --permanent  並且重新加載防火牆 firewall-cmd --reload
  •  如果是iptables防火牆 ,執行 vi  /etc/sysconfig/iptables 加入下面內容 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

   如上配置並重啟iptables就可以在局域網內訪問8080端口了

   在不同Linux系統中,操作指令會有細微的差別,Centos6防火牆相關命令: 

service  iptables  status        查看防火牆狀態
service  iptables  start         開啟防火牆
service  iptables  stop          關閉防火牆
service  iptables  restart       重啟防火牆

  對於Centos7系統來說,只有使用下面的指令,才可以對Linux防火牆進行啟停。 

查看防火牆開放端口列表命令:firewall-cmd --zone=public --list-ports
開啟防火牆8080端口 firewall-cmd --zone=public --add-port=8080/tcp --permanent
關閉防火牆命令:systemctl stop firewalld.service 禁止防火牆開機啟動命令:systemctl disable firewalld.service
重新加載防火牆命令:firewall-cmd --reload

9. 其他一些問題 

   啟動以后,可以利用命令 ps -ef|grep tomcat 查看tomcat是否正常啟動。 

   如果正常啟動以后無法訪問,可以先不修改8080端口,嘗試用8080端口訪問。如果可以通過8080端口正常訪問,則說明80端口被其他應用占用。 

   或者使用 netstat -an|grep 8080 命令查看是否有程序占用8080端口。

三、設置tomcat開機自動啟動

1. 在 tomcat/bin 目錄下面,增加 setenv.sh 配置,服務啟動的時候會調用,同時配置java內存參數。

 輸入命令編輯:vim /usr/local/tomcat/bin/setenv.sh

#add tomcat pid  
CATALINA_PID="$CATALINA_BASE/tomcat.pid"  
#add java opts  
JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m" 

2. 增加tomcat.service,在/usr/lib/systemd/system目錄下增加tomcat.service

輸入命令編輯:vi /usr/lib/systemd/system/tomcat.service

復制代碼
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
Environment='JAVA_HOME=/usr/local/java/jdk1.8.0_221/'
Environment='CATALINA_PID=/usr/local/tomcat/tomcat.pid'
Environment='CATALINA_HOME=/usr/local/tomcat/'
Environment='CATALINA_BASE=/usr/local/tomcat/'
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'

PIDFile=/usr/local/tomcat/tomcat.pid
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target
復制代碼

[unit]配置了服務的描述,規定了在network啟動之后執行。

[service]配置了環境變量,JAVA_HOME,服務的pid,服務的啟動,停止,重啟,內存參數。

[install]配置了使用用戶。

當需要啟動多個tomcat時,復制多個tomcat安裝文件在/usr/local/下,如/usr/local/tomcat2,並配置多個tomcat.service 如tomcat2.service,tomcat3.service 在配置中修改對應的路徑即可。

因為配置pid,在啟動的時候會在tomcat根目錄生成tomcat.pid文件,停止之后刪除。

同時tomcat在啟動時候,執行start不會啟動兩個tomcat,保證始終只有一個tomcat服務在運行。

多個tomcat可以配置在多個目錄下,使用不同的端口,互不影響。

3. 設置開機自啟

systemctl enable tomcat.service

4. 啟動tomcat

systemctl start tomcat.service

5. 在瀏覽器測試(略)

6. 上述步驟操作完成后如果還是訪問不了tomcat服務,可以嘗試重啟一下linux服務器,命令:reboot

systemctl常用命令

其中.service 可以省略

查看全部服務命令:

systemctl list-unit-files --type service

查看服務

systemctl status name.service

增加開機啟動

systemctl enable name.service

啟動服務

systemctl start name.service

停止服務

systemctl stop name.service

重啟服務

systemctl restart name.service

刪除開機啟動

systemctl disable name.service

 

可以部署到github上,可以部署到本地服務器用花生殼做內網穿透

 

 

 

 

 

 

 

 

 

 

參考:https://www.cnblogs.com/li150dan/p/12535067.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM