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

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