Linux Tomcat安装篇(daemon运行,开机自启动)

目录

前言

作为一个Java后端开发者,tomcat想必是最最最熟悉的一个开发组件了,tomcat环境的搭建部署都十分简单。安装部署只需要两步,第一步下载,第二步解压,这样一个基础的tomcat环境就搭建好啦。通常直接执行tomcat目录下的bin/startup.sh脚本进行启动,执行bin/shutdown.sh脚本进行关闭。刚工作那段时间一直都是这么操作的,玩的不亦乐乎,工作几年后忽然发现还能以daemon守护进程的方式进行运行,一下子被这波操作给安利了,简直666,今天就来说说如何操作。

版本

系统:CentOS-6.4 (系统有点老,手头就这一个镜像)
tomcat:8.5.60

关注本文末尾微信公众号,回复“666”获取常用开发工具包,内含常用开发组件,节省翻墙下载时间。

安装部署

1.下载

从tomcat库中选择一个最新版本进行下载
//mirrors.cnnic.cn/apache/tomcat/

这边选择tomcat8 最新的版本,复制文件地址
//mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.5.60/bin/apache-tomcat-8.5.60.tar.gz

cd /usr/local/work/
wget --no-check-certificate  //mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.5.60/bin/apache-tomcat-8.5.60.tar.gz

tar -zxvf apache-tomcat-8.5.60.tar.gz

2.创建用户

# 创建用户组
groupadd tomcat
# 创建用户(无登录权限)并加入tomcat组
useradd -g tomcat -s /usr/sbin/nologin tomcat

3.安装jsvc

# 进入tomcat bin目录
cd tomcat-8.5.60/bin/
# 解压 daemon
tar -zxvf commons-daemon-native.tar.gz

cd commons-daemon-1.2.3-native-src/unix/
# 调整为jdk安装目录
./configure --with-java=/usr/local/work/jdk1.8.0_172

make
cp jsvc /usr/local/work/tomcat-8.5.60/bin
cd /usr/local/work/tomcat-8.5.60/bin/

4.编辑daemon.sh

在daemon.sh中开头第二行添加如下信息

# chkconfig: 2345 20 80
# description: Startup script for the Tomcat 8.5.60 Server

在daemon.sh中该行test “.$TOMCAT_USER” = . && TOMCAT_USER=tomcat上放添加jdk及tomcat信息
这边TOMCAT_USER=tomcat需和上面创建的用户名一致

# jdk安装目录
JAVA_HOME=/usr/local/work/jdk1.8.0_172
# tomcat目录
CATALINA_HOME=/usr/local/work/tomcat-8.5.60
test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat

4.赋权并添加服务

# 更改文件所有者
chown -R tomcat:tomcat /usr/local/work/tomcat-8.5.60
# 赋予用户执行权
chmod a+x /usr/local/work/tomcat-8.5.60/bin/daemon.sh
# 复制至/etc/init.d/
cp daemon.sh /etc/init.d/tomcat8
# 添加服务
chkconfig --add tomcat8
# 查看已有服务
chkconfig --list

# 启动
service tomcat8 start
# 关闭
service tomcat8 stop

至此tomcat已以daemon方式运行了,重启服务器后tomcat服务也会自动启动,nice。

5.日志中文乱码

在daemon方式运行后,在tomcat/logs目录下会出现2个新文件,如下

# 运行pid信息
catalina-daemon.pid
# 日志输出信息 原先日志输出文件 catalina.out
catalina-daemon.out

让我们查看下日志信息

tail -f -n 500 /usr/local/work/tomcat-8.5.60/logs/catalina-daemon.out

原先都是正常的,现在怎么乱码了呢,操作如下即可
打开/etc/init.d/tomcat8,在$LOGGING_MANAGER行调整如下

test ".$LOGGING_MANAGER" = . && LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"

追加编码配置“-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8”
按如下配置

test ".$LOGGING_MANAGER" = . && LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8"

调整完后赶紧试一把,OK,搞定。

Tags: