首页 > 系统 > 其他 >

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

2016-12-07

1、前言一直以来都觉得Tomcat以root身份运行非常不安全,故研究Tomcat如何以普通用户身份运行,以下是参考网络上的一些配置实现Tomcat以daemon方式运行于CentOS 6&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 配置编译环境

yum-yinstallgccgcc-c++makeexpat-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”下载,命令行如下:

wgethttp://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”)版本,命令行如下:

wgethttp://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

vim/etc/sysconfig/iptables

增加如下行:

-AINPUT-mstate--stateNEW-mtcp-ptcp--dport8080-jACCEPT

重启防火墙使服务生效

/etc/init.d/iptablesrestart

In CentOS 7

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

2.2 配置JDK

2.2.1 创建java目录

mkdir/usr/java

2.2.2 解压

tarxfjdk-8u111-linux-x64.tar.gz
mvjdk1.8.0_111/usr/java/

2.2.3 配置环境变量

vim/etc/profile

末尾加入如下内容:

exportJAVA_HOME=/usr/java/jdk1.8.0_111
exportJRE_HOME=${JAVA_HOME}/jre
exportCLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
exportPATH=${JAVA_HOME}/bin:$PATH

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

2.2.4 配置生效

source/etc/profile

2.2.5 环境变量测试

java-version

2.3 配置Tomcat

2.3.1 创建tomcat目录

mkdir/usr/tomcat

2.3.2 解压

tar-xfapache-tomcat-9.0.0.M13.tar.gz
mvapache-tomcat-9.0.0.M13/usr/tomcat/

2.3.3 配置环境变量

vim/usr/tomcat/apache-tomcat-9.0.0.M13/bin/setenv.sh

输入如下配置

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'

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

grep'^#'/usr/tomcat/apache-tomcat-9.0.0.M13/bin/catalina.sh

2.3.4 解压daemon工具包

tar-xf/usr/tomcat/apache-tomcat-9.0.0.M13/bin/commons-daemon-native.tar.gz

2.3.5 编译daemon工具包

cd/usr/tomcat/apache-tomcat-9.0.0.M13/bin/commons-daemon-1.0.15-native-src/unix/
./configure
make

2.3.6 配置daemon运行环境

cpjsvc/usr/tomcat/apache-tomcat-9.0.0.M13/bin/
useradd-M-d/usr/tomcat/apache-tomcat-9.0.0.M13/-s/sbin/nologintomcat
chown-Rtomcat:/usr/tomcat/apache-tomcat-9.0.0.M13

2.3.7 手动测试服务启停

sudo-utomcat/usr/tomcat/apache-tomcat-9.0.0.M13/bin/daemon.shstart
sudo-utomcat/usr/tomcat/apache-tomcat-9.0.0.M13/bin/daemon.shstop

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

netstat-antp

浏览器测试确认:

http://10.168.0.157:8080/

wKioL1g74fjwykvxAAJK_eYL5d8442.png

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

In CentOS 6

ln-s/usr/tomcat/apache-tomcat-9.0.0.M13/bin/daemon.sh/etc/init.d/tomcat9
/etc/init.d/tomcat9start
vim/etc/init.d/tomcat9

第二行加入如下内容:

#chkconfig:23455525

配置服务自启动:

chkconfigtomcat9on

In CentOS 7

vim/lib/systemd/system/tomcat9.service

输入如下内容:

[Unit]
Description=seafile
After=network.target

[Service]
Type=forking
ExecStart=/usr/tomcat/apache-tomcat-9.0.0.M13/bin/daemon.shstart
ExecReload=/usr/tomcat/apache-tomcat-9.0.0.M13/bin/daemon.shrestart
ExecStop=/usr/tomcat/apache-tomcat-9.0.0.M13/bin/daemon.shstop
PrivateTmp=true

[Install]
WantedBy=multi-user.target

测试服务运行

systemctlstarttomcat9.service
systemctlrestarttomcat9.service
systemctlstoptomcat9.service

配置服务自启动

systemctlenabletomcat9.service
相关文章
最新文章
热点推荐