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库中选择一个最新版本进行下载
https://mirrors.cnnic.cn/apache/tomcat/
这边选择tomcat8 最新的版本,复制文件地址
https://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 https://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,搞定。
Linux Tomcat安装篇(daemon运行,开机自启动)的更多相关文章
- Linux Tomcat安装,Linux配置Tomcat,Linux Tomcat修改内存,Linux tomcat修改端口
Linux Tomcat安装,Linux配置Tomcat,Linux Tomcat修改内存,Linux tomcat修改端口 >>>>>>>>>& ...
- Linux(CentOS)系统下设置nginx开机自启动
Nginx 是一个很强大的高性能Web和反向代理服务器.下面介绍在linux下安装后,如何设置开机自启动.首先,在linux系统的/etc/init.d/目录下创建nginx文件,使用如下命令:vi ...
- CentOS6.8下安装memcached并设置开机自启动
参考资料:http://www.cnblogs.com/handongyu/p/6419305.html http://coolnull.com/1986.html 一.安装libevent 首 ...
- CentOS6.8下安装redis并配置开机自启动
参考资料:http://www.bubuko.com/infodetail-1006383.html http://www.cnblogs.com/skyessay/p/6433349.html ...
- linux下安装jsp开发运行环境(centos7)
1 开发环境包括 1)apache-tomcat 2)java-jdk 3)mysql 2 apache-tomcat安装(应该先装java再装tomcat) 1)到官网下载最新版本(不建议用yum安 ...
- Linux Tomcat安装及端口配置
1. JDK安装配置 待写 2. Tomcat安装配置 1,下载Tomcat链接,到启动测试. 将文件apache-tomcat-8.5.50.tar.gz移动到/usr/tomcat/下,并解压 ...
- linux 7安装telnet,设置telnet自启动,使用root telnet登录
1.安装启动服务 # yum install telnet-server # yum install xinetd # systemctl enable xinetd.service # system ...
- Linux Tomcat安装部署项目
一.上传Tomcat服务器
- InstallShield2015制作安装包----------安装后实现电脑开机自启动
开机自启动有两个方法: 一 .把程序的快捷方式放在”开始---启动“目录下. 二.把程序的安装目录放在注册表”“. 实现方法一: 1.编写bat脚本.执行bat启动exe. a)核心:cmd命令 : ...
随机推荐
- LuoguP3602 Koishi Loves Segments
题面 n个区间和数轴上的m个关键点 (0<=n,m<=4*1e5,数轴范围 \(-1^7\) ~ \(1^7\))每个关键点有被区间区间覆盖的次数上限,求最多能放多少个区间到数轴上 传送门 ...
- AtCoder Grand Contest 013D: Piling Up 题解
题意简化: [luogu] Piling Up 一开始有n个颜色为黑白的球,但不知道黑白色分别有多少,m次操作,每次先拿出一个球,再放入黑白球各一个,再拿出一个球,最后拿出的球按顺序排列会形成一个颜色 ...
- [Luogu P2387] [NOI2014]魔法森林 (LCT维护边权)
题面 传送门:https://www.luogu.org/problemnew/show/P2387 Solution 这题的思想挺好的. 对于这种最大值最小类的问题,很自然的可以想到二分答案.很不幸 ...
- adb命令如何获取appPackage和appActivity的信息
如何获取appPackage和appActivity的信息,这里有一个极为实用的命令:adb shell dumpsys activity |find "mFocusedActivity&q ...
- 设计Twitter 时间线
「design Twitter」是 LeetCode 上第 335 道题目,不仅题目本身很有意思,而且把合并多个有序链表的算法和面向对象设计(OO design)结合起来了,很有实际意义,本文就带大家 ...
- 不吹不黑,跨平台框架AspNetCore开发实践杂谈
前言 最近边学边做,初步上手了AspNetCore的开发,对MVC这套熟悉了一下,因为之前没有拿来做过独立项目,都是和别人合作开发,所以前后端分离,我都只做WebApi,而且还是很小的项目(课设级别) ...
- 【Kata Daily 190903】String incrementer(字符串增量器)
原题: Your job is to write a function which increments a string, to create a new string. If the string ...
- 剑指41和为s的连续整数序列
题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数).没多久,他 ...
- MSSQL 模糊搜索全文(过程、函数、触发器等)
--SQL Server数据库查找含有某个关键字的存储过程.函数.触发器等 --SQL Server数据库查找含有某个关键字的存储过程,SQL语句如下: SELECT OBJECT_NAME(b.pa ...
- hibernate3.6-联合主键注解以及openSession和getCurrentSession区别
[联合主键]>>>>配置方式:xml: 1. Student中单独创建StudentPk主键实体类 2. 配置: <composite-id name=" ...