在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配置文件

需要修改三個端口號,這樣的話就可以啟動了。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM