安裝tomcat之前必須要安裝jdk這個組件,檢查系統中是否已經安裝了
如上圖所示,顯示的是jdk的版本1.6,現在最新版的jdk版本是1.7
因爲要安裝的是tomcat7.0,所以jdk的版本需要1.6及以上
如果你的系統中已經存在jdk版本在1.6以下的,你需要卸載後安裝
卸載方法略過
一:安裝jdk1.7方法
[root@slocalhost~]tar zxvf jdk-7u9-linux-x64.tar.gz
[root@slocalhost~]mkdir /usr/local/java
[root@slocalhost~]cp -r jdk1.7.0_09/ /usr/local/java
[root@slocalhost~]vi /root/.bashrc
在該文件的最下面加上如下內容:
export JAVA_HOME=/usr/local/java/jdk1.7.0_09
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
[root@slocalhost~]source /root/.bashrc
通過以上的設置,就安裝好了jdk
檢查一下安裝是否成功,看看jdk版本是不是1.7
[root@slocalhost~] java -version
二:安裝tomcaat7.0
[root@localhost hh]# tar zxf apache-tomcat-7.0.33.tar.gz
[root@localhost hh]# mv apache-tomcat-7.0.33 /usr/local/tomcat
啓動tomcat
[root@localhost hh]# /usr/local/tomcat/bin/startup.sh
啓動效果圖如下
查看端口效果圖如下
[root@localhost hh]# netstat -nutlp | grep java
到這裏,tomcat安裝成功,默認端口是8080
用客戶機測試一下 tomca服務器ip: 192.168.0.188
三:將apache和tomcat進行整合
Apache的編譯略過
這裏我們只需要修改apache主配置文件
1:打開apache的主配置文件/etc/httpd/conf/httpd.conf
查看裏面是否有以下幾行,去掉前面的註釋。
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
如果沒有可能就是apahce沒有此模塊,需要重新編譯安裝apache
2:如果有以上幾行,則在Virtualhost中加入以下一行 (虛擬主機配置文件)
ProxyPass /(這個意思轉發網頁的根目錄)http://ip地址:8080/注意:8080後面的 / 不可以省略 不想轉發的目錄可以這樣,比如:
Proxypass /test ! 此目錄不轉發
即可實現將當前網站根目錄映射到http://ip地址:8080即tomcat主目錄的效果。
Apche的虛擬主機
配置文件截圖:
Apche的虛擬主機
動apache,但失敗,查看一下apache的錯誤日誌,
[Mon Dec 17 10:54:56.373838 2012] [mpm_event:notice] [pid 4316:tid 3086063296] AH00494: SIGHUP received. Attempting to restart
[Mon Dec 17 10:54:56.378183 2012] [proxy_balancer:emerg] [pid 4316:tid 3086063296] AH01177: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded??
[Mon Dec 17 10:54:56.378196 2012] [:emerg] [pid 4316:tid 3086063296] AH00020: Configuration Failed, exiting
原來是缺少mod_slotmem_shm.so模塊,需要加載此模塊,在配置文件裏面找到此行,去掉前面的註釋
[root@localhost conf]# grep 'slotmem' /usr/local/apache2/conf/httpd.conf
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so (去掉前面的註釋)
重啓apache
驗證
http://www.aaa.com和http://www.aaa.com:8080訪問的是同一個頁面,成功,ok!
如果apache有2個虛擬主機怎麼辦?
1:再此臺服務器上在安裝一個tomcat
安裝目錄:/usr/local/tomcat2 (略過)
2:修改其端口,防止端口衝突
(1) 修改接受服務器關閉指令的端口號,默認爲8005,修改爲8006,大約在22行
(2)修改http請求處理端口,默認爲8080,修改爲8081,大約70在行
(3)修改aip端口,默認爲8009,修改爲8010,大約在91行
啓動tomcat2
查看端口
3:apache的另一個虛擬主機
重新啓動apache
4:驗證:
Ok.! 成功!