JIRA 解壓版和Tomcat啟動/停止指令碼衝突問題Linux(Centos7)
前言
由於專案管理需要,欲在伺服器上搭建一個敏捷開發工具JIRA服務,這裡我選擇的是解壓版的JIRA
發文前最新版本:atlassian-jira-software-7.12.1.tar.gz 內建Tomcat
問題描述
配置完成後(埠預設8080,建議修改下埠號,方法與修改Tomcat埠類似,修改解壓目錄下/conf/server.xml檔案)
第一次啟動是成功的。今天發生錯誤,需要重啟JIRA的時候,發現輸入./stop-jira.sh時,它卻把伺服器上的一個Tomcat給停止掉了,而JIRA服務本身沒有影響。
猜想,解壓版的JIRA是內建Tomcat的,會不會是兩個Tomcat發生衝突了呢?
解決辦法
於是,對JIRA的相關檔案進行修改,新增環境變數
具體如下:
JIRA內建Tomcat服務的相關檔案修改
- 修改pid配置路徑(預設會和Tomcat衝突)
cd到JIRA解壓的bin目錄下,找到setenv.sh檔案,vim編輯
將這裡面的CATALINA_BASE和CATALINA_HOME改成CATALINA2_BASE和CATALINA2_HOME
博主的伺服器是已經裝了兩個Tomcat所以後面加的數字改成了3,這個不影響,只要和後面統一就可以。這裡推薦大家可以使用相關工具進行批量修改,以免遺漏。
- 修改catalina.sh指令碼
同樣cd到JIRA解壓的bin目錄下,找到catalina.sh檔案,vim編輯
和上步操作類似,將這裡面的CATALINA_BASE和CATALINA_HOME改成CATALINA2_BASE和CATALINA2_HOME
- 環境變數配置
輸入命令:
vim /etc/profile
修改之前:JAVA,Tomcat的環境變數配置(本機裝了兩個Tomcat服務)
###JAVA ### export JAVA_HOME=/usr/local/jdk1.8.0_181 export JRE_HOME=/usr/local/jdk1.8.0_181/jre export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/jre/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH export PATH=$PATH:$JAVA_HOME/bin:$PATH ###Tomcat 8.5### export CATALINA_HOME=/usr/local/tomcat8.5 export CATALINA_BASE=/usr/local/tomcat8.5 export PATH=$PATH:$CATALINA_BASE/bin:$PATH ###Tomcat 9.0### export CATALINA2_HOME=/usr/local/tomcat9.0 export CATALINA2_BASE=/usr/local/tomcat9.0 export PATH=$PATH:$CATALINA2_BASE/bin:$PATH
修改之後:新增JIRA的環境變數配置,這裡的CATALINA3_HOME和CATALINA3_BASE的值為JIRA的解壓根目錄,與上文對應,你們在操作的時候應該為CATALINA2_HOME和CATALINA2_BASE
###JAVA ###
export JAVA_HOME=/usr/local/jdk1.8.0_181
export JRE_HOME=/usr/local/jdk1.8.0_181/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/jre/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$PATH:$JAVA_HOME/bin:$PATH
###Tomcat 8.5###
export CATALINA_HOME=/usr/local/tomcat8.5
export CATALINA_BASE=/usr/local/tomcat8.5
export PATH=$PATH:$CATALINA_BASE/bin:$PATH
###Tomcat 9.0###
export CATALINA2_HOME=/usr/local/tomcat9.0
export CATALINA2_BASE=/usr/local/tomcat9.0
export PATH=$PATH:$CATALINA2_BASE/bin:$PATH
###Jira 7.12.1###
export CATALINA3_HOME=/usr/local/atlassian-jira-software-7.12.1-standalone
export CATALINA3_BASE=/usr/local/atlassian-jira-software-7.12.1-standalone
export PATH=$PATH:$CATALINA3_BASE/bin:$PATH
儲存,輸入命令:source /etc/profile 更新環境變數配置
如此設定完成後,JIRA和Tomcat的衝突解決,JIRA能夠正常關閉和啟動了。
總結
由於博主有配置多個Tomcat的經驗,所以在發生衝突時,第一反應便是去修改JIRA內建Tomcat的catalina.sh檔案,但是修改之後發現問題並未解決,雖然啟動指令碼可以定位正確,但是PID卻還是使用的Tomcat8.5的PID,於是順藤摸瓜,去修改了setenv.sh檔案裡的CATALINA_BASE和CATALINA_HOME的配置。
每個Tomcat在啟動的時候會在work目錄下生成一個catalina.pid檔案
同樣JIRA屬於內建Tomcat,也會有這個目錄
修改了setenv.sh檔案之後,才解決了程序衝突的問題。