天天看點

Linux下配置Tomcat允許指定身份使用者管理服務

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