您的位置:首页 > 运维架构 > Tomcat

CentOS7 安装tomcat7.x为系统服务器 Systemctl管理Tomcat

2016-07-13 11:11 381 查看
本文转载: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"


tomcat.pid文件与bin目录平级。

2.创建tomcat.service文件

/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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: