cd到tomcat的bin目錄下,并解壓commons-daemon-native.tar.gz:
cd /opt/tomcat/bin/
tar xvzf commons-daemon-native.tar.gz
解壓後會生成一個commons-daemon-1.0.10-native-src目錄,cd到這個目錄的unix子目錄:
cd commons-daemon-1.0.10-native-src/unix
(1). 執行編譯配置:
1 ./configure #(注意:需要先安裝好make,gcc等編譯工具)
在執行時可能會出現如下錯誤提示:
...
*** Java compilation tools ***
checking for JDK location... configure: error: Java Home not defined. Rerun with --with-java=... parameter
這是由于沒有指定jdk目錄所緻的,那麼按提示指定with-java參數(指向jdk目錄)。如下:
./configure--with-java=/opt/jdk
運作完成後會提示如下資訊說明操作成功:
*** All done ***
Now you can issue "make"
執行make:
make
(2). 執行make後會生成一個jsvc的檔案,将其複制到tomcat的bin目錄。
在tomcat/bin目錄裡面有一個daemon.sh 這個檔案就是啟動和關閉tomcat的服務守候程式。
注意:之前的一些tomcat版本,例如tomcat 6.0.x, 可能沒有這個檔案, 其實這個檔案就是放在commons-daemon-x.x.x-native-src/unix/samples/Tomcat7.sh這兒的(此目錄還有一個Tomcat5.sh),隻不過新版本的tomcat把它移動到了bin目錄下,并取名為daemon.sh了。是以,如果您使用的是tomcat 6,那就把這個Tomcat7.sh檔案複制到bin目錄下,并取名為daemon.sh即可。
(3). 修改daemon環境變量 :
用文本編輯器(vi或emacs等)編輯它,找到類似下面這樣配置段:
test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat
# Set JAVA_HOME to working JDK or JRE
# JAVA_HOME=/opt/jdk-1.6.0.22
修改TOMCAT_USER=tomcat為您要指定身份運作的linux賬号使用者名,此處指定使用者名為tomcat。
并把JAVA_HOME=...前面的注釋(即“#”号)去掉,并設定為jdk的安裝目錄路徑,最後,修改好後的配置段變成如下:
JAVA_HOME=/opt/jdk
現在修改/opt/tomcat目錄的所有者為為tomcat(即您要指定身份運作的linux帳号):
chown-R tomcat:tomcat/opt/tomcat
為tomcat/bin/目錄下的*.sh添加相應的x權限位:
chmoda+x/opt/tomcat/bin/*.sh
現在,可以測試一下daemon是否可以啟動運作,啟動方式如下:
/opt/tomcat/bin/daemon.sh start
(如果出錯,重點查驗tomcat的bin目錄下的*.sh是否有x可執行權限、linux帳号是否有tomcat目錄的讀寫權限,是否有tomcat/logs日志目錄的寫權限等等。)如無錯誤,則tomcat的daemon守候程式已經設定成功了,可以通路http://localhost:8080/試一下服務是否啟動。
停止tomcat, 對應的指令為:
/opt/tomcat/bin/daemon.sh stop
四、添加tomcat為debian的服務
在上面的配置正确後,要将daemon.sh添加成為debian的服務就非常簡單了,隻需要建立一個軟鍊到/etc/init.d/目錄中即可:
ln -s /opt/tomcat/bin/daemon.sh /etc/init.d/tomcat7
這樣就建立了一個名為tomcat7的服務。
現在就可以用它啟動/關閉tomcat了:
啟動tomcat7服務:
/etc/init.d/tomcat7 start
停止tomcat7服務:
/etc/init.d/tomcat7 stop
最後,再檢視一下程序, 已經可以看到,tomcat是以指定的使用者身份運作了。
五、設定tomcat服務開機啟動
如果您想讓Tomcat的daemon守候程式在開機後自動運作,隻需運作下面指令,将服務設定為自啟動即可:
update-rc.d tomcat7 defaults
如果以後想想取消自動啟動,則運作:
update-rc.d tomcat7 remove
以上内容為《配置tomcat以指定的身份運作》的全文筆記,本人在Debian系統下成功配置。
上面的配置過程,本人未對tomcat的配置檔案(conf/server.xml)進行任何修改。
如果大家想再建立一個tomcat服務,隻需要将/opt/tomcat這個目錄複制一份,例如:
cp/opt/tomcat/opt/tomcat1
再修改一下tomcat1的端口号(/opt/tomcat/opt/tomcat1/conf/server.xml中的端口号不能與其它的服務重複)
最後從上面所述第四步開始,建立另一個服務即可。
通過這種方式,您就可以為一台Linux伺服器建立任意多個tomcat服務了。最後隻需要安裝一個前端伺服器(例如Nginx或Apache),将不同域名的請求轉發到不同的tomcat服務程式就可以了。
如果您使用的是其它發行版的Linux,配置方式大同小異。
本文轉自奔跑在路上部落格51CTO部落格,原文連結http://blog.51cto.com/qiangsh/1834722如需轉載請自行聯系原作者
qianghong000