systemctl管理Tomcat啟動、停止、重啟、開機啟動
1. 創建服務
用service來管理服務的時候,是在/etc/init.d/
目錄中創建一個腳本文件,來管理服務的啟動和停止,在systemctl中,也類似,文件目錄有所不同,在/lib/systemd/system
目錄下創建一個腳本文件tomcat.service,里面的內容如下:(注意tomcat的路徑改成你自己的)
[Unit] Description=Tomcat After=network.target [Service] Type=forking PIDFile=/usr/local/tomcat/pid ExecStart=/usr/local/tomcat/bin/catalina.sh start ExecReload=/usr/local/tomcat/bin/catalina.sh restart ExecStop=/usr/local/tomcat/bin/catalina.sh stop [Install] WantedBy=multi-user.target
- [Unit] 表示這是基礎信息
- Description 是描述
- After 是在那個服務后面啟動,一般是網絡服務啟動后啟動
- [Service] 表示這里是服務信息
- Type 是服務類型
- PIDFile 是服務的pid文件路徑, 開啟后,必須在tomcat的bin/catalina.sh中加入
CATALINA_PID參數
- ExecStart 是啟動服務的命令
- ExecReload 是重啟服務的命令
- ExecStop 是停止服務的指令
- [Install] 表示這是是安裝相關信息
- WantedBy 是以哪種方式啟動:multi-user.target表明當系統以多用戶方式(默認的運行級別)啟動時,這個服務需要被自動運行。
tomcat的bin/catalina.sh中加入CATALINA_PID參數
時,需要在# OS specific support.
上加入
CATALINA_PID=/usr/local/tomcat/pid # OS specific support. $var _must_ be set to either true or false. cygwin=false ....略..
2. 創建軟鏈接
創建軟鏈接是為了下一步系統初始化時自動啟動服務
ln -s /lib/systemd/system/tomcat.service /etc/systemd/system/multi-user.target.wants/tomcat.service
創建軟鏈接就好比Windows下的快捷方式
ln -s 是創建軟鏈接
ln -s 原文件 目標文件(快捷方式的決定地址)
如果創建軟連接的時候出現異常,不要擔心,看看/etc/systemd/system/multi-user.target.wants/
目錄是否正常創建軟鏈接為准,有時候報錯只是提示一下,其實成功了。
$ ll /etc/systemd/system/multi-user.target.wants/ total 8 drwxr-xr-x 2 root root 4096 Mar 30 15:46 ./ drwxr-xr-x 13 root root 4096 Mar 13 14:18 ../ lrwxrwxrwx 1 root root 31 Nov 23 14:43 tomcat.service -> /lib/systemd/system/tomcat.service ...略...
3. 刷新配置
剛剛配置的服務需要讓systemctl能識別,就必須刷新配置
$ systemctl daemon-reload
如果沒有權限可以使用sudo
$ sudo systemctl daemon-reload
4. 啟動、重啟、停止
啟動tomcat
$ systemctl start tomcat
重啟tomcat
$ systemctl restart tomcat
停止tomcat
$ systemctl stop tomcat
5. 開機自啟動
tomcat服務加入開機啟動
$ systemctl enable tomcat
禁止開機啟動
$ systemctl disable tomcat
6. 查看狀態
查看狀態
$ systemctl status tomcat