利用systemd 實現 tomcat 多例項

2021-09-04 02:03:06 字數 2220 閱讀 2246

環境: centos 7 x86_64

1、安裝jdk

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

2、建立普通使用者

getent group tomcat || groupadd -r tomcat

getent passwd tomcat || useradd -r -d /opt -s /bin/nologin tomcat

cd /opt

wget 

tar zxvf apache-tomcat-7.0.64.tar.gz

mv apache-tomcat-7.0.64 tomcat01

chown -r tomcat:tomcat tomcat01

tar zxvf apache-tomcat-7.0.64.tar.gz

mv apache-tomcat-7.0.64 tomcat02

chown -r tomcat:tomcat tomcat02

兩個例項同時監聽8080埠必然會產生衝突,所以必須修改.

sed -i 's/8080/8081/g' /opt/tomcat01/conf/server.xml

sed -i 's/8005/8001/g' /opt/tomcat01/conf/server.xml

sed -i 's/8080/8082/g' /opt/tomcat02/conf/server.xml

sed -i 's/8005/8002/g' /opt/tomcat02/conf/server.xml

ajp通常用不上,這裡統一關閉

sed -i '/8009/d' /opt/tomcat01/conf/server.xml

sed -i '/8009/d' /opt/tomcat01/conf/server.xml

tomcat在linux下預設工作模式是bio,效能非常低,建議使用apr或者nio,

這裡改為nio,即非阻塞io,效能比較好。

sed -i.bak 's#http/1.1#org.apache.coyote.http11.http11nioprotocol#' /opt/tomcat02/conf/server.xml(如果想起用apr模式,需要安裝apr-devel、tomcat-native兩個軟體包,無需改配置)

3、建立啟動檔案

cd /usr/lib/systemd/system

cat >tomcat01.service sed 's/tomcat01/tomcat02/g' tomcat01.service > tomcat02.service

4、啟動服務

systemctl enable tomcat01

systemctl enable tomcat02

systemctl start tomcat01

systemctl start tomcat02

5、日誌輪轉

由於tomcat是作為後台服務持續執行,天長日久,日誌必定會越來越大,在當初部署tomcat之時很容易忽略這個問題,否則硬碟遲早會被撐爆。

建立檔案/etc/logrotate.d/tomcat,內容如下:

/opt/tomcat01/logs/catalina.out

/opt/tomcat02/logs/catalina.out

6、檢視程序

ps aux |grep tomcat

附上乙份nginx反向**tomcat的配置檔案

本文理論上也適用於tomcat8,未經測試。

systemd實現python的守護程序

之前有轉過一遍python實現守護程序方法的部落格,這次我們看看用systemd是如何實現的。有關systemd的介紹和使用推薦阮一峰老師的以下兩篇部落格,寫的非常詳細和全面 下面我們看看用systemd如何實現守護程序 我的環境centos 7 usr bin env python coding ...

利用VSTS實現Daily Build

1 新建team build type,project1build 2 建立批處理,c program files microsoft visual studio 8 common7 ide tfsbuild.exe start server1 project1 project1build 利用wi...

利用uploadprogress實現上傳進度條

繼上次運用了uploadprogress上傳擴充套件,自己弄了乙個簡單的例項,實現原理和apc實現的方法基本一樣。1.安裝php uploadprogress.dll擴充套件,重啟apache 2.實現 以下 upload.php php code 複製內容到剪貼簿 id get id target...