zoukankan      html  css  js  c++  java
  • 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/

    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
     

    输入如下内容:

    [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
     

    测试服务运行

    systemctl start tomcat9.service
    systemctl restart tomcat9.service
    systemctl stop tomcat9.service
     

    配置服务自启动

    systemctl enable tomcat9.service
     

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

  • 相关阅读:
    ActiveSync合作关系对话框的配置
    WINCE对象存储区(object store)
    Wince 隐藏TASKBAR的方法
    Wince输入法换肤换语言机制
    poj 3080 Blue Jeans 解题报告
    codeforces A. Vasily the Bear and Triangle 解题报告
    hdu 1050 Moving Tables 解题报告
    hdu 1113 Word Amalgamation 解题报告
    codeforces A. IQ Test 解题报告
    poj 1007 DNA Sorting 解题报告
  • 原文地址:https://www.cnblogs.com/beyang/p/10525150.html
Copyright © 2011-2022 走看看