wsxxz 发表于 2018-11-29 11:23:02

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 配置编译环境
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”下载,命令行如下:
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”)版本,命令行如下:
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
vim /etc/sysconfig/iptables  增加如下行:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT  重启防火墙使服务生效
/etc/init.d/iptables restart  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 解压

tar xf jdk-8u111-linux-x64.tar.gz
mv jdk1.8.0_111 /usr/java/  2.2.3 配置环境变量
vim /etc/profile  末尾加入如下内容:
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 配置生效
source /etc/profile  2.2.5 环境变量测试
java -version  2.3 配置Tomcat

  2.3.1 创建tomcat目录
mkdir /usr/tomcat  2.3.2 解压
tar -xf apache-tomcat-9.0.0.M13.tar.gz
mv apache-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运行环境
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 手动测试服务启停

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  确认服务正常启动与关闭:
netstat -antp  浏览器测试确认:
http://10.168.0.157:8080/
http://s4.运维网.com/wyfs02/M02/8A/C5/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/tomcat9 start
vim /etc/init.d/tomcat9  第二行加入如下内容:
# chkconfig: 2345 55 25  配置服务自启动:
chkconfig tomcat9 on  In CentOS 7
vim /lib/systemd/system/tomcat9.service  输入如下内容:

Description=seafile
After=network.target

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

WantedBy=multi-user.target  测试服务运行
systemctl start tomcat9.service
systemctl restart tomcat9.service
systemctl stop tomcat9.service  配置服务自启动
systemctl enable tomcat9.service  ===============================================================
  参阅文档:
  http://blog.csdn.net/bebabyron/article/details/11852317
  http://www.liaoshixiong.cn/java/centos7-tomcat-daemon.html
  http://www.xuebuyuan.com/1361441.html
  http://blog.csdn.net/centre10/article/details/50639693



页: [1]
查看完整版本: Tomcat以Daemon的方式启动(CentOS6&7)