tomcat實踐

sgy618發表於2011-07-15

tomcat實踐

[@more@]

Tomcat 安裝


apache-tomcat-6.0.20.tar.gz

apache是一個開源專案,tomcat是其子專案,屬於apache的基金會的


1.先裝JDK

jdk-6u17-linux-i586.bin

如果沒有可執行的許可權,chmod修改其許可權


2.檢視系統是否裝jdk

使用java命令,按tab鍵,看是否補齊,

java -version 檢視版本,一般用1.6版本


rpm -qa | grep jdk

rpm -e jdk


安裝完會在當前目錄下生成jdk目錄

mv jdk1.6.0 /usr/local/


做環境變數:

在啟動指令碼中新增:

JAVA_HOME=/usr/local/jdk1.6.0_17/設定環境變數

JAVA_BIN=/usr/local/jdk1.6.0_17/bin

JRE_HOME=/usr/local/jdk1.6.0_17/jre

PATH=/usr/local/jdk1.6.0_17/bin/:$PATH

CLASSPATH=./:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME JAVA_BIN JRE_HOME PATH CLASSPATH


注意,有時 JRE_HOMEJAVA_JRE


然後source一下這個啟動指令碼

#source /etc/profile


然後檢查一下是否安裝成功,

1.檢查java是否補齊

2.檢視版本資訊java -version


另一種方法:建立軟連結


3.apache-tomcat-6.0.20.tar.gz

解壓,生成目錄,該目錄直接就能用,不用再去編譯

mv apache-tomcat-*** /usr/local/tomcat


進入該目錄的bin目錄下,啟動關閉的指令碼在該目錄下

驅動放在lib目錄下,但是這裡有一個不好的地方,如果這個tomcat承載多個專案(mysql oracle),不好管理,lib是一個全域性的,為了區分,將各自專案,將驅動放入不同的目錄下


logs裡面是日誌

conf是配置檔案,主配置檔案是server.xml

22行,很重要,如果給8005觸發一下,就關掉了

67行,為什麼tomcat啟動時候,預設埠為8080,原因在此

88行,協議是AJP協議,如果與apache結合的時候,也可以交給後端的8009也可以

126行,配置虛擬主機,webapps,相當於apacheDocumentRoot,如果做虛擬主機注意標籤的配對


這個時候啟動一下startup.sh

#/usr/lcoal/tomcat/bin/startup.sh

如果發現沒有起服務成功檢視日誌

/usr/lcoal/tomcat/logs 記錄服務啟動關閉的資訊


同時也要注意根據當前環境修改一下startup.sh指令碼,


netstat檢視埠是否開啟


logs/目錄下

tail -f catalina.out

正常情況下,要做日誌擷取


測試,firefox


讀取的頁面時在這個目錄下,需要jsp語言來寫

tomcat/webapps/ROOT/


3.製作虛擬主機


在主配置檔案中


126-128行復制一下,放到下面,然後在新複製的內容,補齊一個


name為虛擬主機的域名 修改一下根為website

需要在tomcat/website/目錄下建立一個ROOT目錄,ROOT為預設讀取的目錄,要訪問的目錄要放在這個ROOT


改完配置檔案一定要重啟服務


4.加入sysv

預設已經做好了,需要修改一些東西

1)、cp tomcat/bin/catalina.sh /etc/init.d/tomcatd

2)、chmod 一個可執行許可權

3)、vim tomcatd

將其他標準的服務指令碼的關於chkconfig那塊的的資訊複製到這個tomcatd指令碼即可


5.

注意的問題:

1.預設檔案,在conf/下得web.xml檔案中1190

2.配置許可權:conf下有個一個tomcat-users.xml檔案 19行開始

rolename為角色的名字

username使用者名稱

password密碼

roles扮演的角色


6.製作jivebbs


1)破解

unzip jive.zip

cd jive

主程式就是jive_forums_pro_4_2_3

cp -raf jive_forums_pro_4_2_3 /usr/local/tomcat/webapps/jive


/usr/local/tomcat/webapps/jive/crack/patcher.jar /usr/local/


java -jar patcher.jar破解一下

/usr/local/tomcat/webapps/jive目錄下新建一個檔名為jive.lincese


2)回到主頁面的manager介面,多出一個jive

3/usr/local/src/mysql-connector-java-3.1.14-bin.jar放到/usr/local/tomcat/lib

4)啟mysql

mysqladmin -uroot password 'lei'

5)mysql -p 直接以root使用者進

進入mysql

>create databases jivedb;

>grant all privileges on jivedb.* to jiveuser @ 'localhost' identified by 'lei'

>flush privileges;


#mysql -uroot -plei jivedb < /usr/local/tomcat/webapps/jive/database/jive_forums_mysql.sql


>use jivedb;

> show tables;


ls -l /usr/local/tomcat/webapps/jive/jiveHome

然後回到剛才的網頁頁面,添下jiveHomelicense然後 重新提交,點選continue


然後選擇第一項標準的

然後選mysql com.mysql.jdbc.Driver 127.0.0.1:3306/jivedb

jiveuser lei


若發現驅動不能載入的錯誤警告,需要將tomcat重新啟動一下


繼續continue


然後選擇default

然後

然後 admin skip

然後使用者名稱和密碼登陸





動靜分離:

靜態東東西由apache處理,動態由tomcat處理


步驟:

1)安裝apache

在其配置檔案中,需要LoadModule 一個mod_jk2模組

2jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz

解包

進入產生的目錄中,再進入jk/

native2目錄下面執行./configure –help | grep apxs

列出兩條,要用apxs2這個


./configure –with-apxs2=/usr/local/apache2/bin/apxs

make

執行完會生成一個模組,將這個模組複製到/usr/local/apache2/module


然後修改剛才說過的那個配置檔案,複製一行LoadModule jk2_module


重啟apache服務


此時server怎麼知道當遇到jsp的檔案時交給tomcat呢?


烤一個檔案??????????


works2.

[uri:/*.jsp]

info=*******


[uri:/*.gif] 將圖片也交給tomcat處理

info=*******


另一種方式:

去掉[uri:/*.gif] 將圖片也交給tomcat處理

info=*******


apache配置檔案的DocumentRoot指向tomcat


注意許可權問題(user 所用的使用者)和根容器那塊的deny all的問題


這時,圖片由apache來處理,jsp頁面由tomcat處理


可以再apache配置檔案中在預設訪問介面中加入index.jsp


apache配置中,將DocumentRoot指向tomcat站點根時,當點manager或其他標籤時,發現會404錯誤,所以需要

[uri:/jive/*]

info=*******


[uri:/manager/*]

info=*******


當然這裡也可以用虛擬主機實現

192.168.1.1/jive

192.168.1.1/manager




rpm -qf `which /sbin/apxs`

-------------------------------------------------------------

1安裝jdk
[root@localhost ~]# cd /usr/local/src
[root@localhost tomcat]#sh jdk-6u17-linux-i586.bin
[root@localhost tomcat]# cp -r jdk1.6.0_17/ /usr/local/jdk1.6.0_17/
[root@localhost ~]#vim /etc/profile
#set java environment
JAVA_HOME=/usr/local/jdk1.6.0_17
JAVA_BIN=/usr/local/jdk1.6.0_17/bin
JAVA_JRE=/usr/local/jdk1.6.0_17/jre
PATH=$PATH://usr/local/jdk1.6.0_17/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN JRE_HOME PATH CLASSPATH

[root@localhost ~]# source /etc/profile


安裝tomcat
[root@localhost tomcat]# tar zxf apache-tomcat-6.0.20.tar.gz -C /usr/local/
[root@localhost tomcat]# cd /usr/local/
[root@localhost local]# mv apache-tomcat-6.0.20/ tomcat
[root@localhost ~]#cp -p /usr/local/tomcat/bin/catalina.sh /etc/init.d/tomcat
[root@localhost ~]#vim /etc/init.d/tomcat
# chkconfig: 2345 63 37
# description: tomcat server init script
JAVA_HOME=/usr/local/jdk1.6.0_17/
CATALINA_HOME=/usr/local/tomcat


設定tomcat
[root@localhost local]# vim /usr/local/tomcat/conf/server.xml
[root@localhost local]# vim /usr/local/tomcat/conf/tomcat-users.xml





[root@localhost local]# /usr/local/tomcat/bin/shutdown.sh
[root@localhost local]# /usr/local/tomcat/bin/startup.sh

[root@localhost tomcat]# cd /usr/local/src/
[root@localhost tomcat]# unzip jive.zip
[root@localhost tomcat]# cd jive
[root@localhost jive]# cp crack/patcher.jar jive_forums_pro_4_2_3/WEB-INF/lib/
[root@localhost jive]# cd !$
[root@localhost lib]# /usr/local/jdk/bin/java -jar patcher.jar
[root@localhost lib]# cd /root/tomcat/jive
[root@localhost jive]# mv jive_forums_pro_4_2_3/ /usr/local/tomcat/webapps/jive/
[root@localhost jive]# cd /usr/local/tomcat6.0/webapps/jive/jiveHome/
[root@localhost jive]# touch jive.license


JDBC(Java Data Base Connectivity,java資料庫連線)是一種用於執行SQL語句的Java API


http://192.168.1.254:8080/
netstat -ntlp | grep 8080


[root@localhost conf]# vim /usr/local/tomcat6.0/conf/tomcat-users.xml





~
restart tomcat服務
---------------------
3、部署


[root@localhost jiveHome]# pwd
/usr/local/tomcat6.0/webapps/jive/jiveHome


mysql> create database jivedb;
Query OK, 1 row affected (0.00 sec)

mysql> grant all on jivedb.* to jiveuser@localhost identified by '123';
Query OK, 0 rows affected (0.01 sec)

mysql>
[root@localhost database]# pwd
/usr/local/tomcat6.0/webapps/jive/database
[root@localhost database]# mysql jivedb < jive_forums_mysql.sql
-------------------
[root@localhost database]# mysql -u root -p123 jivedb < jive_forums_mysql.sql
-------------
[root@localhost database]# ls /var/lib/mysql/jivedb/

====================

[root@localhost tomcat_package]# tar zxvf mysql-connector-java-3.1.14.tar.gz
[root@localhost tomcat_package]# cp mysql-connector-java-3.1.14/mysql-connector-java-3.1.14-bin.jar /usr/local/tomcat6.0/lib/

restart tomcat
start mysql


============
==============
==============

安裝apache,啟動apache
生成jk2模組,讓apache LoadModule . 呼叫 tomcat的模組

[root@localhost tomcat_package]# tar zxvf jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz

[root@localhost tomcat_package]# mv jakarta-tomcat-connectors-jk2-2.0.4-src /usr/local/tomcat-connect

[root@localhost native2]# pwd
/usr/local/tomcat-connect/jk/native2


yum install http-devel
which apxs
/usr/sbin/apxs
[root@localhost native2]# ./configure --with-apxs2=/usr/sbin/apxs
[root@localhost native2]# make
[root@localhost native2]# make install
make: *** No rule to make target `install'. Stop.

[root@localhost apache2]# pwd
/usr/local/tomcat-connect/jk/build/jk2/apache2
[root@localhost apache2]# cp mod_jk2.so /etc/httpd/modules/

[root@localhost apache2]# vim /etc/httpd/conf/httpd.conf
[root@localhost apache2]# grep jk2 /etc/httpd/conf/httpd.conf
LoadModule jk2_module modules/mod_jk2.so


/usr/local/apache2/bin/apxs

寫配置檔案定義什麼情況下透過jk2模組找tomcat

[root@localhost jk]# cp /usr/local/tomcat-connect/jk/conf/workers2.properties /etc/httpd/conf/


[root@localhost jk]# vim /etc/httpd/conf/workers2.properties

[uri:/jive/*]
info=map the tomcat

[uri:/manager/*]
info=map the tomcat

[uri:/*.jsp]
info=map the tomcat

service httpd restart


總結:

動靜分離:靜態介面交給apache,動態介面交給tomcat,這樣達到了網路最佳化動靜分離

apache監聽80埠,tomcat監聽8080埠,預設使用者請求從80埠進入,發現有jsp介面的請求,這個時候交給tomcat處理,這裡他們之間需要一個銜接工具mod_jk2(80)、ajp(8009)

如果將tomcat的埠號改為80,則所有東西都有tomcat處理

apache不可動態處理

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23168012/viewspace-1052523/,如需轉載,請註明出處,否則將追究法律責任。

相關文章