Tomcat安裝
通常情況下我們要配置Tomcat是很容易的一件事情,但是如果您要架設多用戶多服務的Java虛擬主機就不那么容易了。其中最大的一個問題就是Tomcat執行權限。普通方式配置的Tomcat是以root超級管理員的身份運行的,顯然,這是非常危險的,可想而知,一但網站被掛馬,您的整個服務器都可以被黑客控制了。而通過編譯或在線(例如redhat系列的yum, debian系列的apt-get)的方式安裝,一個服務器上又只能裝一個tomcat的服務,如果將多個網站放到同一個tomcat服務中,一但某一個網站出問題導致tomcat服務被卡死,則服務器上所有的網站都打不開了,無法滿足各網站程序獨享tomcat的需求。為了解決這些問題,我們需要配置Tomcat以指定的身份運行,且一臺服務器上可以安裝任意多個tomcat服務。
測試機器環境:
VMware Workstation 10 虛擬機
內存:1G
Linux版本:CentOS MinimalCD 6.5
JAVA:JAVA_HOME=/opt/jdk
一、先在 Linux系統上配置好JDK環境( CentOS學習筆記--JDK安裝 )
?????? 假設您已經在Linux系統上正確安裝了JDK開發環境,且JDK安裝的位置在: /opt/jdk/
二、下載并解壓最新版本的Tomcat, http://tomcat.apache.org ,將其下載下來(我下到的是apache-tomcat-6.0.41.tar.gz)放到Linux系統的/opt/目錄下,運行命令解壓(并將解壓出來的目錄更名為tomcat):
tar xzvf apache-tomcat-6.0.41
.tar.gz
mv apache
-tomcat-6.0.41/ tomcat
三、編譯安裝tomcat daemon服務守候程序:
1、解壓后會生成一個commons-daemon-1.0.15-native-src目錄,cd到這個目錄的Linux子目錄:cd /opt/tomcat/bin/ tar xvzf commons -daemon-native.tar.gz
2、注釋:安裝gcc(默認Mini版本沒有安裝gcc)cd commons-daemon-1.0.10-native-src/unix3、執行編譯配置yum -y install gcc4、運行完成后會提示如下信息說明操作成功:./ configure #(注意:需要先安裝好make,gcc等編譯工具) . /configure --with-java=/opt/jdk 如果提示沒有jdk,使用這個命令。主要是java目錄未寫入系統目錄
5、執行make:... *** All done *** Now you can issue " make "6、執行make后會生成一個jsvc的文件,將其復制到tomcat的bin目錄。makecp jsvc /opt/tomcat/bin/7、在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即可。
8、修改daemon環境變量 :
用文本編輯器(vi或emacs等)編輯它,找到類似下面這樣配置段:
test " .$TOMCAT_USER " = . && TOMCAT_USER= tomcat # Set JAVA_HOME to working JDK or JRE # JAVA_HOME=/opt/jdk-1.6.0.229、修改TOMCAT_USER=tomcat為您要指定身份運行的linux賬號用戶名,此處指定用戶名為tomcat。
并把JAVA_HOME=...前面的注釋(即“#”號)去掉,并設置為jdk的安裝目錄路徑,最后,修改好后的配置段變成如下:
10、現在修改/opt/tomcat目錄的所有者為tomcat(即您要指定身份運行的linux帳號):test " .$TOMCAT_USER " = . && TOMCAT_USER= tomcat # Set JAVA_HOME to working JDK or JRE JAVA_HOME=/opt/jdk11、為tomcat/bin/目錄下的*.sh添加相應的x權限位:useradd -M tomcat # 創建沒有主目錄的tomcat用戶 chsh tomcat -s /sbin/nologin # 禁止tomcat登陸操作,類似于windows的系統賬戶 chown -R tomcat /opt/tomcat # 將/opt/tomcat下的所有檔案與子目錄進行相同的擁有者變更為tomcat用戶12、現在,可以測試一下daemon是否可以啟動運行,啟動方式如下:chmod +x /opt/tomcat/bin/*.sh/opt/tomcat/bin/ daemon.sh start curl http: //localhost:8080 # 測試一下是否啟動
(如果出錯,重點查驗tomcat的bin目錄下的*.sh是否有x可執行權限、linux帳號是否有tomcat目錄的讀寫權限,是否有tomcat/logs日志目錄的寫權限等等。)如無錯誤,則tomcat的daemon守候程序已經設置成功了。
13、這時本機可以訪問tomcat了,遠程機器訪問不了,是防火墻的問題,在 /etc/sysconfig/iptables添加
重啟iptable-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT # 8080是tomcat的訪問端口service iptables restart
這樣就可以訪問了。
14、停止tomcat, 對應的命令為:
15、添加tomcat為Linux的服務,這時就簡單了,只需要創建一個軟鏈到/etc/init.d/目錄中即可/opt/tomcat/bin/daemon.sh stop16、現在就可以用它啟動/關閉tomcat了:ln -s /opt/tomcat/bin/daemon.sh /etc/init.d/tomcat17、設置tomcat服務開機啟動,需要在daemon.sh中增加以下的語句:/etc/init.d/tomcat start # 啟動tomcat service tomcat start # 啟動tomcat /etc/init.d/tomcat stop # 關閉tomcat service tomcat stop # 關閉tomcat18、再運行 chkconfig命令增加tomcat服務,而達到自啟動:# !/bin/sh #這句是原文件里有的,下面的2句是要添加的 # chkconfig: 2345 90 15 # description: Tomcat-en Managerchkconfig --add tomcat
重啟機器,測試一下。
四、如果想再創建一個tomcat服務,只需要將/opt/tomcat這個目錄復制一份,例如:
cp /opt/tomcat /opt/tomcat1
再修改一下tomcat1的端口號(/opt/tomcat/opt/tomcat1/conf/server.xml中的端口號不能與其它的服務重復)。最后從上面所述第8步開始,創建另一個服務即可。
通過這種方式,您就可以為一臺Linux服務器創建任意多個tomcat服務了。最后只需要安裝一個前端服務器(例如Nginx或Apache),將不同域名的請求轉發到不同的tomcat服務程序就可以了。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
