CentOS學習筆記--Tomcat安裝

來源:互聯網
上載者:User

標籤:

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.gzmv apache-tomcat-6.0.41/ tomcat

三、編譯安裝tomcat daemon服務守候程式:

cd /opt/tomcat/bin/tar xvzf commons-daemon-native.tar.gz
1、解壓後會產生一個commons-daemon-1.0.15-native-src目錄,cd到這個目錄的Linux子目錄:
cd commons-daemon-1.0.10-native-src/unix
2、注釋:安裝gcc(預設Mini版本沒有安裝gcc)
yum -y install gcc
3、執行編譯配置
./configure  #(注意:需要先安裝好make,gcc等編譯工具)./configure --with-java=/opt/jdk 如果提示沒有jdk,使用這個命令。主要是java目錄未寫入系統目錄
4、運行完成後會提示如下資訊說明操作成功:
...*** All done ***Now you can issue "make"
5、執行make:
make
6、執行make後會產生一個jsvc的檔案,將其複製到tomcat的bin目錄。
cp 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.22

9、修改TOMCAT_USER=tomcat為您要指定身份啟動並執行linux帳號使用者名稱,此處指定使用者名稱為tomcat。

並把JAVA_HOME=...前面的注釋(即“#”號)去掉,並設定為jdk的安裝目錄路徑,最後,修改好後的配置段變成如下:

test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat# Set JAVA_HOME to working JDK or JREJAVA_HOME=/opt/jdk
10、現在修改/opt/tomcat目錄的所有者為tomcat(即您要指定身份啟動並執行linux帳號):
useradd -M tomcat #建立沒有主目錄的tomcat使用者chsh tomcat -s /sbin/nologin  #禁止tomcat登陸操作,類似於windows的系統賬戶chown -R tomcat /opt/tomcat   #將/opt/tomcat下的所有檔案與子目錄進行相同的擁有者變更為tomcat使用者
11、為tomcat/bin/目錄下的*.sh添加相應的x許可權位:
chmod +x /opt/tomcat/bin/*.sh
12、現在,可以測試一下daemon是否可以啟動運行,啟動方式如下:
/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添加

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT   #8080是tomcat的訪問連接埠
重啟iptable
service iptables restart

這樣就可以訪問了。

14、停止tomcat, 對應的命令為:

/opt/tomcat/bin/daemon.sh  stop
15、添加tomcat為Linux的服務,這時就簡單了,只需要建立一個軟鏈到/etc/init.d/目錄中即可
ln  -s  /opt/tomcat/bin/daemon.sh  /etc/init.d/tomcat
16、現在就可以用它啟動/關閉tomcat了:
/etc/init.d/tomcat  start #啟動tomcatservice tomcat start      #啟動tomcat/etc/init.d/tomcat  stop  #關閉tomcatservice tomcat stop       #關閉tomcat
17、設定tomcat服務開機啟動,需要在daemon.sh中增加以下的語句:
#!/bin/sh      #這句是原檔案裡有的,下面的2句是要添加的# chkconfig: 2345 90 15# description: Tomcat-en Manager
18、再運行 chkconfig命令增加tomcat服務,而達到自啟動:
chkconfig --add  tomcat

重啟機器,測試一下。

四、如果想再建立一個tomcat服務,只需要將/opt/tomcat這個目錄複寫一份,例如:

cp /opt/tomcat /opt/tomcat1

再修改一下tomcat1的連接埠號碼(/opt/tomcat/opt/tomcat1/conf/server.xml中的連接埠號碼不能與其它的服務重複)。最後從上面所述第8步開始,建立另一個服務即可。

通過這種方式,您就可以為一台Linux伺服器建立任意多個tomcat服務了。最後只需要安裝一個前端伺服器(例如Nginx或Apache),將不同網域名稱的請求轉寄到不同的tomcat服務程式就可以了。

CentOS學習筆記--Tomcat安裝

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.