• CentOS7 systemctl tomcat常用配置


    开始配置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在运行

  • 相关阅读:
    C++ Low level performance optimize
    简单find命令的实现
    数据结构学习之栈
    随机数的生成
    数据结构学习(一)
    C复习---动态内存分配
    (转)虚拟文件系统(VFS)浅析
    (转) 中断处理程序&中断服务例程
    Gradle系列教程之依赖管理
    Gradle系列教程之依赖管理
  • 原文地址:https://www.cnblogs.com/toutou/p/tomcat_systemctl.html
Copyright © 2020-2023  润新知