CentOS 7 中配置通过 daemon 模式启动 Tomcat 8 服务
这几天有空,把CentOS 7 中配置通过 daemon 模式启动 Tomcat 8 服务整理出来收录一下。
1、JDK安装
1)检查服务器是否预装了 openJdk,如果有就删除,在这里因为我的系统里没有所以不多赘述。
2)到 Oracle 的官网下载 JDK 安装包,这里我使用的是 jdk1.8.0_73,官网下载 jdk-8u73-linux-x64.rpm 并上传到服务器。
3)到安装包目录下执行命令
rpm -ivh jdk-8u73-linux-x64.rpm
4)运行命令查看是否安装成功
java -version
显示 java 版本信息,安装成功
java version "1.8.0_73"
Java(TM) SE Runtime Environment (build 1.8.0_73-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode)
2、Tomcat8 配置
1)下载 Tomcat 8 并上传到服务器,这里我下载的是 apache-tomcat-8.0.32.tar.gz 版本
2)配置单独用户 tomcat 运行 Tomcat8 服务,这这里配置的 tomcat 是无登录权限的账户
groupadd tomcat
useradd -s /sbin/nologin -g tomcat tomcat
usermod -L tomcat
3)解压 Tomcat 8 并复制到 tomcat 用户目录下
tar -zxv -f apache-tomcat-8.0.32.tar.gz
rm -rf apache-tomcat-8.0.32.tar.gz
mv apache-tomcat-8.0.32 tomcat
mv tomcat/ /home/tomcat/
4)授权目录权限给 tomcat 用户
chown -R tomcat:tomcat /home/tomcat/tomcat
5)在 Tomcat 8 的 bin 目录下添加启动配置 setenv.sh 文件
cd /home/tomcat/tomcat/bin
vi setenv.sh
setenv.sh 文件的相关内容如下
#add tomcat pid
CATALINA_Pid="/var/run/tomcat.pid"
#add JAVA_HOME
JAVA_HOME=/usr/java/default
#add JAVA_OPTS
JAVA_OPTS="-server -Xms256M -Xmx512M -XX:MaxNewSize=256m"
6)编译安装 jsvc,jsvc 是 daemon 模式用来启动 Tomcat 8 的程序,通过C语言编译,可以在普通用户下打开 80 端口
cd /home/tomcat/tomcat/bin
tar -zxvf commons-daemon-native.tar.gz
cd commons-daemon-1.0.15-native-src/
./configure --with-java=/usr/java/default
make
cp jsvc ../..
7)配置 Tomcat 8 为 systemctl 服务,在 /usr/lib/systemd/system 下创建文件 tomcat.service
cd /usr/lib/systemd/system
vi tomcat.service
tomcat.service 的内容如下
[Unit]
Description=Tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/var/run/tomcat.pid
ExecStart=/home/tomcat/tomcat/bin/daemon.sh start
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
至此,全部配置基本完成
设置开机启动的命令
systemctl enable tomcat
启动服务
systemctl start tomcat
重启服务
systemctl restart tomcat
停止服务
systemctl stop tomcat
更多Tomcat相关教程见以下内容:
Tomcat 的详细介绍:请点这里
Tomcat 的下载地址:请点这里