本文轉載:http://blog.chinaunix.net/uid-24648266-id-5729891.html
CentOS7開始,從/etc/init.d腳本改為了systemctl管理服務。
親自測試成功。
1.首先,需要為tomcat配置pid。
bin/catalina.sh
- # Copy CATALINA_BASE from CATALINA_HOME if not already set
- [ -z "$CATALINA_BASE" ] && CATALINA_BASE="$CATALINA_HOME"
- # 設置pid。一定要加在CATALINA_BASE定義后面,要不然pid會生成到/下面
- CATALINA_PID="$CATALINA_BASE/tomcat.pid"
/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=/home/jdk/jdk1.7.0_79"
- PIDFile=/home/tomcat/apache-tomcat-7.0.47/tomcat.pid
- ExecStart=/home/tomcat/apache-tomcat-7.0.47/bin/startup.sh
- ExecReload=/bin/kill -s HUP $MAINPID
- ExecStop=/bin/kill -s QUIT $MAINPID
- PrivateTmp=true
- [Install]
- WantedBy=multi-user.target
Environment="JAVA_HOME=/home/jdk/jdk1.7.0_79" 這里要配置環境變量,在/etc/profile中的配置在系統服務中不生效。
3.設置為開機啟動
- systemctl enable tomcat.service
4.其它
修改tomcat.service文件后需要執行下面命令使其生效:
systemctl daemon-reload
systemctl daemon-reload
查詢tomcat 進程 ps -ef | grep "tomcat"| grep -v grep
如果多個tomcat,則拷貝到不同的目錄,使用不同的端口。tomcat.service文件名不同即可。
例如:tomcat1.service tomcat2.service tomcat3.service
啟動tomcat服務
systemctl start tomcat.service
設置開機自啟動
systemctl enable tomcat.service
停止開機自啟動
systemctl disable tomcat.service
查看服務當前狀態
systemctl status tomcat.service
重新啟動服務
systemctl restart tomcat.service
查看所有已啟動的服務
systemctl list-units --type=service