Linux centos7下設置Tomcat開機自啟動


1,centos7 使用 systemctl 替換了 service命令

參考:redhat文檔:

查看全部服務命令:
systemctl list-unit-files --type service
查看服務
systemctl status name.service
啟動服務
systemctl start name.service
停止服務
systemctl stop name.service
重啟服務
systemctl restart name.service
增加開機啟動
systemctl enable name.service
刪除開機啟動
systemctl disable name.service
其中.service 可以省略。

2,tomcat增加啟動參數

2.1 tomcat 需要增加一個pid文件

tomcat.pid文件與bin目錄平級。

2.2 在tomca/bin 目錄下面,增加 setenv.sh 配置,catalina.sh啟動的時候會調用,同時配置Java內存參數。

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

3,增加tomcat.service

在/usr/lib/systemd/system目錄下增加tomcat.service,目錄必須是絕對目錄。


   
   
  
  
          
  1. [Unit]
  2. Description=Tomcat
  3. After=syslog.target network.target remote-fs.target nss-lookup.target
  4. [Service]
  5. Type=forking
  6. Environment="JAVA_HOME=/usr/local/java"
  7. PIDFile=/usr/local/tomcat/tomcat.pid
  8. ExecStart=/usr/local/tomcat/bin/startup.sh
  9. ExecReload=/bin/kill -s HUP $MAINPID
  10. ExecStop=/bin/kill -s QUIT $MAINPID
  11. PrivateTmp=true
  12. [Install]
  13. WantedBy=multi-user.target

注意:Environment="JAVA_HOME=/home/jdk/jdk1.7.0_79" 這里要配置環境變量,在/etc/profile中的配置在系統服務中不生效。


[unit]配置了服務的描述,規定了在network啟動之后執行。[service]配置服務的pid,服務的啟動,停止,重啟。[install]配置了使用用戶。

4,使用tomcat.service

配置開機啟動 

systemctl enable tomcat

啟動tomcat
systemctl start tomcat
停止tomcat
systemctl stop tomcat
重啟tomcat
systemctl restart tomcat

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

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

多個tomcat可以配置在多個目錄下,互不影響。


5.其它

修改tomcat.service文件后需要執行下面命令使其生效:
systemctl daemon-reload
查詢tomcat 進程  ps -ef | grep "tomcat"| grep -v grep
如果多個tomcat,則拷貝到不同的目錄,使用不同的端口。tomcat.service文件名不同即可。
例如:tomcat1.service tomcat2.service tomcat3.service


免責聲明!

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



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