子分类
  • 无子分类
CentOS 7 中配置通过 daemon 模式启动的 Tomcat 8 服务
  • 2018-10-25发布
  • 2018-10-25修改

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"


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