• 在CentOS7上使用systemctl配置tomcat


    最近买了一台阿里云,现在阿里云CentOS都已经支持7了(前面都是使用CentOS6),索性直接使用CentOS7,7上面目前最大区别就是service变成了现在的systemctl,简单的查了一下并结合使用,发现systemctl功能上等同于6上面的service+chkconfig,也就是说配置service与设置开机启动都是使用systemctl。

    开始配置tomcat

    1.环境准备,安装java

    在生产环境上,我一般使用oracle java,不使用openjdk,所以先卸载系统自带的openjdk

    yum remove java

    下载oracle java Linux rpm安装包(http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

    安装

    rpm -ivh jdk-8u92-linux-x64.rpm

    java默认的安装目录在/usr/java/jdk1.8.0_92(根据具体的版本目录名不同)

    2.下载tomcat

    我选择使用清华大学源,速度十分快,这个源还有其他资源,下载软件可以在这里找

    将tomcat下载到/opt目录下,并解压

    # 下载
    wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.0.36/bin/apache-tomcat-8.0.36.tar.gz -P /opt
    # cd到tomcat包的目录
    cd /opt
    # 解压tomcat包
    tar -zxf apache-tomcat-8.0.36.tar.gz
    # 创建符号链接tomcat8,因为解压出来的包名比较长,为了方便
    ln -s apache-tomcat-8.0.36 tomcat8
    # 可以选择删除tomcat包
    rm -rf apache-tomcat-8.0.36.tar.gz

    3.设置环境变量

    # cd 到 /et/profile.d目录
    cd /etc/profile.d
    # 创建tomcat8.sh
    vim tomcat8.sh
    # 输入以下内容
    
    # java tomcat env
    export JAVA_HOME=/usr/java/jdk1.8.0_92
    export CLASS_PATH=.:$JAVA_HOME/lib
    export CATALINA_HOME=/opt/tomcat8
    export CATALINA_BASE=/opt/tomcat8
    export PATH=$PATH:$JAVA_HOME/bin:$CATLINA_HOME:/bin

    # 保存tomcat8.sh文件,使用source使环境变量立即生效
    source /etc/profile

    4.简单介绍systemctl命令的使用

    systemctl list-unit-files --type service #查看全部服务命令
    systemctl status name.service #查看服务命令
    systemctl start name.service #启动服务
    systemctl stop name.service #停止服务
    systemctl restart name.service #重启服务
    systemctl enable name.service #增加开机启动
    systemctl disable name.service #删除开机启动

    5.配置tomcat的启动参数

    # 编辑/opt/tomcat8/bin/setenv.sh,没有的话就新建
    vim /opt/tomcat8/bin/setenv.sh
    # 输入以下配置选项(tomcat有很多配置选项)
    # 设置tomcat pid
    CATALINA_PID="$CATALINA_BASE/tomcat.pid"
    # 设置java参数,提高性能
    JAVA_OPTS="-server -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"
    # 保存文件
    # 修改文件权限变为可执行
    chmod a+x /opt/tomcat8/bin/setenv.sh

    6.创建tomcat账户来启动tomcat,并修改tomcat文件的属性

    getent group tomcat || groupadd -r tomcat
    getent passwd tomcat || useradd -r -d /opt -s /bin/nologin -g tomcat tomcat
    chown -R tomcat:tomcat /opt/apache-tomcat-8.0.36

    7.配置systemctl来管理tomcat

    # 在/usr/lib/systemd/system目录下新建tomcat8.service文件
    cd /usr/lib/systemd/system
    # 创建tomcat8.service文件
    vim tomcat8.service
    # 输入以下内容
    [Unit]
    Description=Apache Tomcat 8
    After=syslog.target network.target
     
    [Service]
    Type=forking
    PIDFile=/opt/tomcat8/tomcat.pid
    ExecStart=/opt/tomcat8/bin/startup.sh 
    ExecReload=/bin/kill -s HUP $MAINPID
    ExecStop=/bin/kill -s QUIT $MAINPID
    PrivateTmp=true
    User=tomcat
    Group=tomcat 
    
    [Install]
    WantedBy=multi-user.target
    # 保存wq!

    8.上面tomcat8.service文件创建完毕后就可以通过systemctl来管理tomcat了

    设置tomcat开机启动

    systemctl enable tomcat8

    启动tomcat

    systemctl start tomcat8
    # 查看tomcat进程
    [root@cc ~]# ps aux | grep tomcat
    tomcat   16150  0.1 27.0 2626292 275420 ?      Sl   14:34   0:36 /usr/bin/java -Djava.util.logging.config.file=/opt/tomcat8/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -server -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=512m -Xms256M -Xmx512M -XX:MaxNewSize=128m -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -classpath /opt/tomcat8/bin/bootstrap.jar:/opt/tomcat8/bin/tomcat-juli.jar -Dcatalina.base=/opt/tomcat8 -Dcatalina.home=/opt/tomcat8 -Djava.io.tmpdir=/opt/tomcat8/temp org.apache.catalina.startup.Bootstrap start

    9.配置完毕

    tomcat启动时会在tomcat的根目录/opt/tomcat8下生成pid文件tomcat.pid,停止后会删除,用systemctl管理tomcat不会出现同时启动多个tomcat,这样可以保证始终只有一个tomcat在运行

    文中有不足之处,请直接指出,QQ:1485619676,欢迎交流学习

  • 相关阅读:
    几种常用的曲线
    0188. Best Time to Buy and Sell Stock IV (H)
    0074. Search a 2D Matrix (M)
    0189. Rotate Array (E)
    0148. Sort List (M)
    0859. Buddy Strings (E)
    0316. Remove Duplicate Letters (M)
    0452. Minimum Number of Arrows to Burst Balloons (M)
    0449. Serialize and Deserialize BST (M)
    0704. Binary Search (E)
  • 原文地址:https://www.cnblogs.com/ieinstein/p/7096650.html
Copyright © 2020-2023  润新知