zoukankan      html  css  js  c++  java
  • 在centOS使用systemctl配置启动多个tomcat

    公司服务器使用的是阿里云CentOS7,CentOS7和CentOS6目前最大区别就是service变成了现在的systemctl,简单的查了一下并结合使用,发现systemctl功能上等同于6上面的service+chkconfig,也就是说配置service与设置开机启动都是使用systemctl。

    简单介绍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 #删除开机启动

    截图展示下公司的服务器配置,的确是高

    自己购买了个单核2g的服务器自个练习下linux操作。

    用于公司项目的服务都是通过systemctl来启动的。

    所以在此总结一下systemctl配置tomcat的过程。

    先看一下效果(启动了两个tomcat,一个是7,一个是8.5)

     

    1. 首先需要配置下jdk的环境

      直接下载对应的jdk版本,编辑 vim /etc/pro
      export JAVA_HOME=/usr/local/java/jdk1.8.0_191
      export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
      export PATH=$PATH:$JAVA_HOME/bin

    2. 下载tomcat

      下载tomcat,地址 https://tomcat.apache.org/download-80.cgi 进行如下操作
      # 下载
      wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.tar.gz -P /opt/tomcat
      # cd到tomcat包的目录
      cd /opt/tomcat
      # 解压tomcat包
      tar -zxf apache-tomcat-8.5.37.tar.gz
      # 创建符号链接tomcat8,因为解压出来的包名比较长,为了方便
      ln -s apache-tomcat-8.5.37 tomcat8
      # 可以选择删除tomcat包
      rm -rf apache-tomcat-8.5.37.tar.gz

    3. 配置tomcat的启动参数

      因为需要通过systemctl管理多个tomcat,这个时候环境配置不需要写到/etc/profile文件里面,单独修改tomcat里面的/bin/catalina.sh文件即可

      vim /opt/tomcat/apache-tomcat-8.5.35/bin/catalina.sh
      # 最上面添加一行
      export JAVA_HOME=/usr/local/java/jdk1.8.0_191

      # 编辑/opt/tomcat/apache-tomcat-8.5.35/bin/setenv.sh,没有的话就新建
      vim /opt/tomcat/apache-tomcat-8.5.35/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/tomcat/apache-tomcat-8.5.35/bin/setenv.sh

       

    4. 创建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

    5. 配置systemctl来管理tomcat

      # 在/usr/lib/systemd/system目录下新建tomcat8.service文件
      cd /usr/lib/systemd/system
      # 创建tomcat8.service文件
      vim tomcat8.service
      # 输入以下内容
      [Unit]
      Description=Apache Tomcat 8 chy
      After=syslog.target network.target
       
      [Service]
      Type=forking
      PIDFile=/opt/tomcat/apache-tomcat-8.5.35/tomcat.pid
      ExecStart=/opt/tomcat/apache-tomcat-8.5.35/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!

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

      通过 systemctl enable tomcat8设置为开机自启
      通过 systemctl start tomcat8 启动tomcat服务
      检验 curl localhost:8080
      tomcat启动时会在tomcat的根目录/opt/tomcat8下生成pid文件tomcat.pid,停止后会删除,用systemctl管理tomcat不会出现同时启动多个tomcat,这样可以保证始终只有一个tomcat在运行
      ok,完成。


    参考 https://www.cnblogs.com/ieinstein/p/7096650.html

    参考这篇博客第一次没有配置成功,之后才知道在上述的第三部配置Catalina.sh的时候错误了。

    如果想再配置一个tomcat7,就像这样

    systemctl list-unit-files --type service

    配置跟配置tomcat8类似,区别就是需要修改tomcat的server.xml配置文件

    需要修改三个端口号,这样的话就可以启动了。

     

     

  • 相关阅读:
    __autoload函数
    错误处理try catch
    PHP面向对象基础实例
    类的继承关系实例
    YII重点文件
    //计算今年月度利息和
    cookie保存分页参数
    win64(win8)的python拓展包安装经验总结
    matcom安装时无法寻找到matlab.exe的解决办法
    《人人都是产品经理》阅读笔记一
  • 原文地址:https://www.cnblogs.com/chywx/p/10158791.html
Copyright © 2011-2022 走看看