本文转载:http://blog./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"
tomcat.pid文件与bin目录平级。 /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 查询tomcat 进程 ps -ef | grep "tomcat"| grep -v grep 如果多个tomcat,则拷贝到不同的目录,使用不同的端口。tomcat.service文件名不同即可。 例如:tomcat1.service tomcat2.service tomcat3.service
启动nginx服务 systemctl start nginx.service 设置开机自启动 systemctl enable nginx.service 停止开机自启动 systemctl disable nginx.service 查看服务当前状态 systemctl status nginx.service 重新启动服务 systemctl restart nginx.service 查看所有已启动的服务 systemctl list-units --type=service
|