Tomcat 8在CentOS 7的守护进程设置

简介: 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/49153881 Tomcat 8在CentOS 7的守护进程设置作者:chszs,转载需注明。
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/49153881

Tomcat 8在CentOS 7的守护进程设置

作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs

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
目录
相关文章
|
3天前
|
运维 监控 Ubuntu
【运维】如何在Ubuntu中设置一个内存守护进程来确保内存不会溢出
通过设置内存守护进程,可以有效监控和管理系统内存使用情况,防止内存溢出带来的系统崩溃和服务中断。本文介绍了如何在Ubuntu中编写和配置内存守护脚本,并将其设置为systemd服务。通过这种方式,可以在内存使用超过设定阈值时自动采取措施,确保系统稳定运行。
18 4
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
133 2
|
2月前
|
应用服务中间件 数据库
Tomcat 的数据库连接池设置与应用
Tomcat 的数据库连接池设置与应用
48 3
|
6月前
|
Linux 网络安全
杨老师课堂之关于阿里云Centos7 如何设置权限的解决方案
杨老师课堂之关于阿里云Centos7 如何设置权限的解决方案
70 0
|
3月前
|
存储 Linux Docker
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
关于如何在CentOS 7.6上安装Docker、介绍Docker存储引擎以及服务进程关系的实战案例。
183 3
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
|
4月前
|
Linux
centos7及Tomcat8Dockerfile
centos7及Tomcat8Dockerfile
|
4月前
|
缓存 前端开发 Java
【Azure 应用服务】App Service 使用Tomcat运行Java应用,如何设置前端网页缓存的相应参数呢(-Xms512m -Xmx1204m)?
【Azure 应用服务】App Service 使用Tomcat运行Java应用,如何设置前端网页缓存的相应参数呢(-Xms512m -Xmx1204m)?
|
4月前
|
微服务 Windows
【Azure微服务 Service Fabric 】在SF节点中开启Performance Monitor及设置抓取进程的方式
【Azure微服务 Service Fabric 】在SF节点中开启Performance Monitor及设置抓取进程的方式
|
4月前
|
安全 Java 应用服务中间件
在CentOS 7上安装Apache Tomcat 8的方法
在CentOS 7上安装Apache Tomcat 8的方法
155 0
|
4月前
|
安全 Java 应用服务中间件
如何通过 Yum 在 CentOS 7 上安装 Apache Tomcat 7
如何通过 Yum 在 CentOS 7 上安装 Apache Tomcat 7
220 0