tomcat centos7配置

centos7下配置Tomcat开机启动(service方式和daemon方式)

通常我们在开发环境使用tomcat时直接使用$CATALINA_HOME/bin/startup.bat和shutdown.bat来启动和关闭tomcat。然而在生产环境中我们需要将tomcat配置成以daemon守护进程来运行,主要有以下几个原因:

  • 以daemon方式运行tomcat可使tomcat不受终端影响,不会因为退出终端而停止运行。
  • 可以让tomcat以普通用户身份运行
  • 可以让tomcat在系统启动时自动运行

下面开始配置:
1.配置环境变量
配置JAVA_HOME,CATALINA_HOME两个环境变量

export JAVA_HOME=/usr/local/jdk
export CATALINA_HOME=/usr/local/tomcat
 
 
  • 1
  • 2

2.编译安装jsvc
jsvc 是 daemon 模式用来启动 Tomcat 8 的程序

#解压
cd $CATALINA_HOME/bin
tar -zxvf commons-daemon-native.tar.gz
#配置
cd commons-daemon-1.1.0-native-src/unix
./configure --with-java=/usr/local/jdk
#编译
make

#编译后,会产生一个jsvc的二进制可执行文件。将其复制到$CATALINA_HOME/bin下
cp jsvc ../..
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

3.创建用户和组
创建tomcat用户,仅用来运行tomcat

#创建tomcat组
groupadd tomcat
#创建tomcat用户(该用户没有登录权限)
useradd tomcat -s /sbin/nologin -M 

#设置目录所属用户和组
chown -R tomcat:tomcat /usr/local/tomcat 
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

4.创建setenv.sh文件
在tomcat/bin目录下创建setenv.sh文件

vim setenv.sh
 
 
  • 1

添加内容

# add tomcat pid
CATALINA_PID="/usr/local/tomcat/tomcat.pid"
# add JAVA_HOME
JAVA_HOME=/usr/local/jdk
# add JAVA_OPTS
JAVA_OPTS="-server -Xms256M -Xmx512M -XX:MaxNewSize=256m"
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

5.设置后台启动脚本(如果上面设置了setenv.sh这里这里可跳过)
打开daemon.sh文件

vim /usr/local/tomcat/bin/daemon.sh
 
 
  • 1

搜索

找到&& TOMCAT_USER=tomcat,将这里的TOMCAT_USER设置为创建的用户。
若本来就使用的tomcat用户,所以这里不用改

取消JAVA_HOME的注释,并改为自己的jdk配置路径
JAVA_HOME=/usr/local/jdk

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

6.配置开机启动
有传统的service服务方式和centos7中新的systemctl方式

方式一:service服务方式(传统方式)

7.在/etc/init.d/目录下编写启动tomcat服务的脚本

#创建tomcat
vim /etc/init.d/tomcat
 
 
  • 1
  • 2

写入如下内容

#!/bin/bash
#startup script for tomcat on linux

# chkconfig: 2345 10 90 
# description: tomcat sever ....

#filename tomcat.sh

#JAVA_HOME=/usr/local/jdk
TOMCAT_HOME=/usr/local/tomcat
################################################
start_tomcat=$TOMCAT_HOME/bin/daemon.sh
stop_tomcat=$TOMCAT_HOME/bin/daemon.sh

start() {
    echo -n "Starting tomcat: "
    ${start_tomcat} start
    echo "tomcat start ok"
}

stop() {
    echo -n "Shutdown tomcat"
    ${stop_tomcat} stop
    echo "tomcat stop ok"
}

#how we were called

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        sleep 10
        start
        ;;
    *)
        echo "Usage: $0 {start|stop|restart}"
esac

exit 0
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45

8.授权

chmod 777 /etc/init.d/tomcat
 
 
  • 1

9.service方式启动

#添加tomcat服务
chkconfig --add tomcat
#查看tomcat服务是否被添加
chkconfig –list | grep tomcat

#启动/停止/重启tomcat服务
service tomcat start/stop/restart        
#查看tomcat服务状态    
service tomcat status                           
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

方式二:systemctl服务方式(新方式)

以前都用service命令管理软件,而centos7.x引入新的方式来管理系统进程,使用systemctl替换了service命令,当然service方式依旧可以继续使用。systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器。systemctl的使用可参考CentOS7中systemctl的使用

7.创建开机启动服务文件
创建一个名为tomcat.service的系统服务脚本

#创建一个名为tomcat.service的系统服务脚本
vim /usr/lib/systemd/system/tomcat.service
 
 
  • 1
  • 2

写入以下内容

[Unit]
Description=Apache Tomcat
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/tomcat/tomcat.pid
Environment=JAVA_HOME=/usr/local/jdk
Environment=CATALINA_HOME=/usr/local/tomcat

ExecStart=/usr/local/tomcat/bin/daemon.sh start
ExecStop=/usr/local/tomcat/bin/daemon.sh stop
User=tomcat
Group=tomcat
PrivateTmp=true
[Install]
WantedBy=multi-user.target
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

配置好后,要刷新一下

#重新加载一下配置。每次改动后也要重新加载
systemctl daemon-reload
 
 
  • 1
  • 2

8.设置开机启动,并启动服务

#设置允许开机自启动
systemctl enable tomcat 

#启动服务
systemctl start tomcat
#查看状态
systemctl status tomcat
#查看服务是否激活
systemctl is-active tomcat

##其它命令
# 禁止开机启动
systemctl disable tomcat
# 停止服务
systemctl stop tomcat
# 重启服务
systemctl restart tomcat
# 查看所有已启动的服务
systemctl list -units --type=service
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
					<link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-258a4616f7.css" rel="stylesheet">
            </div>
</article>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值