Tomcat以Daemon的方式启动(CentOS6&7)

简介:

1 前言

一直以来都觉得Tomcat以root身份运行非常不安全,故研究Tomcat如何以普通用户身份运行,以下是参考网络上的一些配置实现Tomcat以daemon方式运行于CentOS 6&7系统下面。

2 实践部分

2.1 环境配置

2.1.1 系统环境

ipaddress=10.168.0.157

OS=CentOS 6&7

2.1.2 配置编译环境

1
yum -y  install  gcc gcc-c++  make  expat-devel

2.1.3 下载JDK

1)下载页面:

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

2)下载选择

请选择“jdk-8u111-linux-x64.tar.gz”下载,命令行如下:

1
wget http: //download .oracle.com /otn-pub/java/jdk/8u111-b14/jdk-8u111-linux-x64 . tar .gz?AuthParam=1479977626_06aed8a715c8fbbc10f72c89ee38910b

2.1.4 下载Tomcat

1)下载页面

http://tomcat.apache.org/

2)下载选择

请选择“Tomcat 9.0.0.M13”下载(注意选择“Binary Distributions”)版本,命令行如下:

1
wget http: //apache .fayea.com /tomcat/tomcat-9/v9 .0.0.M13 /bin/apache-tomcat-9 .0.0.M13. tar .gz

2.1.5 配置防火墙

In CentOS 6

1
vim  /etc/sysconfig/iptables

增加如下行:

1
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

重启防火墙使服务生效

1
/etc/init .d /iptables  restart

In CentOS 7

1
2
3
firewall-cmd --permanent --add-port=8080 /tcp
firewall-cmd --reload
firewall-cmd --list-all

2.2 配置JDK

2.2.1 创建java目录

1
mkdir  /usr/java

2.2.2 解压

1
2
tar  xf jdk-8u111-linux-x64. tar .gz
mv  jdk1.8.0_111  /usr/java/

2.2.3 配置环境变量

1
vim  /etc/profile

末尾加入如下内容:

1
2
3
4
export  JAVA_HOME= /usr/java/jdk1 .8.0_111
export  JRE_HOME=${JAVA_HOME} /jre
export  CLASSPATH=.:${JAVA_HOME} /lib :${JRE_HOME} /lib
export  PATH=${JAVA_HOME} /bin :$PATH

注:以上配置只是为了下面的daemon环境的编译,编译完可以注释

2.2.4 配置生效

1
source  /etc/profile

2.2.5 环境变量测试

1
java -version

2.3 配置Tomcat

2.3.1 创建tomcat目录

1
mkdir  /usr/tomcat

2.3.2 解压

1
2
tar  -xf apache-tomcat-9.0.0.M13. tar .gz
mv  apache-tomcat-9.0.0.M13  /usr/tomcat/

2.3.3 配置环境变量

1
vim  /usr/tomcat/apache-tomcat-9 .0.0.M13 /bin/setenv .sh

输入如下配置

1
2
3
4
5
JAVA_HOME= /usr/java/jdk1 .8.0_111
JRE_HOME=${JAVA_HOME} /jre
CATALINA_HOME= /usr/tomcat/apache-tomcat-9 .0.0.M13
CATALINA_BASE=${CATALINA_HOME}
JAVA_OPTS= '-server -Xms2048m -Xmx4096m -Xss512k'

环境变量配置请参考以下命令输出的内容:

1
grep  '^#'  /usr/tomcat/apache-tomcat-9 .0.0.M13 /bin/catalina .sh

2.3.4 解压daemon工具包

1
tar  -xf  /usr/tomcat/apache-tomcat-9 .0.0.M13 /bin/commons-daemon-native . tar .gz

2.3.5 编译daemon工具包

1
2
3
cd  /usr/tomcat/apache-tomcat-9 .0.0.M13 /bin/commons-daemon-1 .0.15-native-src /unix/
. /configure
make

2.3.6 配置daemon运行环境

1
2
3
cp  jsvc  /usr/tomcat/apache-tomcat-9 .0.0.M13 /bin/
useradd  -M -d  /usr/tomcat/apache-tomcat-9 .0.0.M13/ -s  /sbin/nologin  tomcat
chown  -R tomcat:  /usr/tomcat/apache-tomcat-9 .0.0.M13

2.3.7 手动测试服务启停

1
2
sudo  -u tomcat  /usr/tomcat/apache-tomcat-9 .0.0.M13 /bin/daemon .sh start
sudo  -u tomcat  /usr/tomcat/apache-tomcat-9 .0.0.M13 /bin/daemon .sh stop

确认服务正常启动与关闭:

1
netstat  -antp

浏览器测试确认:

http://10.168.0.157:8080/

wKioL1g74fjwykvxAAJK_eYL5d8442.png

2.3.8 启动服务与配置服务开机启动

In CentOS 6

1
2
3
ln  -s  /usr/tomcat/apache-tomcat-9 .0.0.M13 /bin/daemon .sh  /etc/init .d /tomcat9
/etc/init .d /tomcat9  start
vim  /etc/init .d /tomcat9

第二行加入如下内容:

1
# chkconfig: 2345 55 25

配置服务自启动:

1
chkconfig tomcat9 on

In CentOS 7

1
vim  /lib/systemd/system/tomcat9 .service

输入如下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
[Unit]
Description=seafile
After=network.target
 
[Service]
Type=forking
ExecStart= /usr/tomcat/apache-tomcat-9 .0.0.M13 /bin/daemon .sh start
ExecReload= /usr/tomcat/apache-tomcat-9 .0.0.M13 /bin/daemon .sh restart
ExecStop= /usr/tomcat/apache-tomcat-9 .0.0.M13 /bin/daemon .sh stop
PrivateTmp= true
 
[Install]
WantedBy=multi-user.target

测试服务运行

1
2
3
systemctl start tomcat9.service
systemctl restart tomcat9.service
systemctl stop tomcat9.service

配置服务自启动

1
systemctl  enable  tomcat9.service

===============================================================









本文转自 tanzhenchao 51CTO博客,原文链接:http://blog.51cto.com/cmdschool/1877213,如需转载请自行联系原作者
目录
相关文章
|
存储 安全 Java
【Linux】安装Tomcat以yum方式安装
启动tomcat并设置开机自启
519 0
【Linux】安装Tomcat以yum方式安装
|
前端开发 Java 应用服务中间件
《SpringBoot启动流程七》:源码分析SpringBoot如何内嵌并启动Tomcat服务器的?
《SpringBoot启动流程七》:源码分析SpringBoot如何内嵌并启动Tomcat服务器的?
462 0
《SpringBoot启动流程七》:源码分析SpringBoot如何内嵌并启动Tomcat服务器的?
|
Java 应用服务中间件 容器
springboot如何启动内置tomcat?(源码详解)
springboot如何启动内置tomcat?(源码详解)
springboot如何启动内置tomcat?(源码详解)
|
资源调度 JavaScript Java
服务器支持访问静态文件的几种方式:Spring、Tomcat、Vue
服务器支持访问静态文件的几种方式:Spring、Tomcat、Vue
|
Java 应用服务中间件
IDEA的Web项目启动Tomcat出现404错误
IDEA的Web项目启动Tomcat出现404错误
572 0
IDEA的Web项目启动Tomcat出现404错误
|
应用服务中间件
创建tomcat的服务,删除服务,通过服务来启动项目
创建tomcat的服务,删除服务,通过服务来启动项目
190 0
创建tomcat的服务,删除服务,通过服务来启动项目
|
应用服务中间件
IEAD启动Tomcat控制台乱码问题
IEAD启动Tomcat控制台乱码问题
IEAD启动Tomcat控制台乱码问题
|
应用服务中间件 Shell
mac下载tomcat 8启动后无法使用
mac下载tomcat 8启动后无法使用
mac下载tomcat 8启动后无法使用
|
前端开发 Java 应用服务中间件
将tomcat源码以maven方式运行
将tomcat源码以maven方式运行
276 0
将tomcat源码以maven方式运行
|
应用服务中间件 Windows
反向代理方式实现IIS与Tomcat整合
反向代理方式实现IIS与Tomcat整合
247 0
反向代理方式实现IIS与Tomcat整合