ECM
ECM
总版主
总版主
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:958回复:0

jsvc 以daemon方式运行tomcat

楼主#
更多 发布于:2016-09-11 09:01



1、建立Jsvc


Jsvc是专为Java应用程序开发的一个工具包,其目标是把Java应用程序的普通运行转换为以Unix守护进程的方式运行。这样的话,可以很方便地启动/停止应用程序。Tomcat安装包的bin子目录下就包含了Jsvc工具包的源码,整个建立过程很方便,如下。
本文的脚本以Tomcat 8.0.27,CentOS 7为例。假定我的JAVA 8安装到/opt/jdk8处。
$ cd /opt/tomcat8/bin
$ sudo tar zvxf commons-daemon-native.tar.gz
$ cd commons-daemon-1.0.15-native-src/unix
$ sudo ./configure --with-java=/opt/jdk8
$ sudo make
$ sudo cp jsvc ../..


2、创建Tomcat用户


下面的命令会创建一个专门的用户来运行Tomcat实例,并会把/opt/tomcat目录及其文件的所有权赋予新创建的tomcat用户。
$ sudo useradd -r -s /sbin/nologin tomcat
$ sudo chown -R tomcat: /opt/tomcat8


3、创建系统服务


如果是CentOS系统(比如CentOS 7),按以下步骤进行。
1)创建一个名为tomcat.service的系统服务脚本。
# vim /usr/lib/systemd/system/tomcat.service

2)添加以下内容:
[Unit]
Description=Apache Tomcat 8 Web Application Container
After=network.target

[Service]
Type=forking
PIDFile=/var/run/tomcat.pid
Environment=CATALINA_PID=/var/run/tomcat.pid
Environment=JAVA_HOME=/opt/jdk8
Environment=CATALINA_HOME=/opt/tomcat8
Environment=CATALINA_BASE=/opt/tomcat8
Environment=CATALINA_OPTS=

ExecStart=/opt/tomcat/bin/jsvc \
            -Dcatalina.home=${CATALINA_HOME} \
            -Dcatalina.base=${CATALINA_BASE} \
            -cp ${CATALINA_HOME}/bin/commons-daemon.jar:${CATALINA_HOME}/bin/bootstrap.jar:${CATALINA_HOME}/bin/tomcat-juli.jar \
            -user tomcat \
            -java-home ${JAVA_HOME} \
            -pidfile /var/run/tomcat.pid \
            -errfile SYSLOG \
            -outfile SYSLOG \
            $CATALINA_OPTS \
            org.apache.catalina.startup.Bootstrap

ExecStop=/opt/tomcat8/bin/jsvc \
            -pidfile /var/run/tomcat.pid \
            -stop \
            org.apache.catalina.startup.Bootstrap

[Install]
WantedBy=multi-user.target

开发者可以修改CATALINA_OPTS选项以满足自己的需要。
3)让Tomcat服务在启动后就自动运行:
$ sudo systemctl enable /usr/lib/systemd/tomcat.service
ln -s '/usr/lib/systemd/tomcat.service' '/etc/systemd/system/multi-user.target.wants/tomcat.service'
ln -s '/usr/lib/systemd/tomcat.service' '/etc/systemd/system/tomcat.service'

4)使用下面的命令启动、重启、停止Tomcat服务
$ systemctl start tomcat
$ systemctl stop tomcat
$ systemctl restart tomcat
$ systemctl status tomcat


4、防火墙设置


防火墙打开8080端口
$ firewall-cmd --zone=public --add-port=8080/tcp --permanent
$ firewall-cmd --reload

 

 

 

 

 

 

 

异常中心网是一家专门收集整理程序员编程过程中遇到的常见异常(exception)以及各种异常问答中心的网站。异常中心网旨在,减少程序员在编码遇到异常,处理各种异常时间和痛苦,让程序员能更愉快的、快速的定位异常并查找对应的异常解决方案。异常中心网诚心打造最完美的编程社区为程序员用户服务,努力成为最好的程序员乐园程序员社区程序异常中心程序bug中心异常问答中心

 

喜欢0 评分0
游客

返回顶部