Linux系統上JSP環境搭建(apache與tomcat整合)詳細說明

火星人 @ 2014-03-03 , reply:0


Linux系統上JSP環境搭建(apache與tomcat整合)詳細說明

Linux系統上JSP環境搭建(apache與tomcat整合)詳細說明



因為系統已經配置好PHP環境,web是由apache提供的,所以今天就在PHP基礎上,搭建JSP環境,並讓他們協同工作。
本次操作環境說明:PHP環境是用yum來安裝的。也就是說是RPM包安裝的。系統是RHEL6.1X64位系統


第一步,安裝java環境
注意:如果說,你的環境有JAVA開始的話,要下載JDK,如果只是簡單的JAVA環境,只需要安裝JRE就OK了。注(此處無大小寫區分)。也就是說,JDK包含了JRE的全部內容。

jre最新版本下載地址

安裝方法

# chmod +x jre-6u25-linux-x64.bin
# ./jre-6u25-linux-x64.bin
# mv jre1.6.0_25/* /jdk/# vim /etc/profile
在最後加入下面語句
#java#
JAVA_HOME=/jdk
PATH=$PATH:$JAVA_HOME/bin

# source /etc/profile查看JAVA是不是安裝成功了

# java -version

java version "1.6.0_25"
Java(TM) SE Runtime Environment (build 1.6.0_25-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.0-b11, mixed mode)恭喜你,安裝成功!

第二步,安裝apache-tomcat
這個是jsp服務提供程序
各個版本的下載地址如下。注意,我們下載的是二進位的文件,非源碼文件,無需編譯,直接可以使用

如果想用源碼安裝,請參考源碼編譯安裝tomcat教程

5.5下載地址
6.0下載地址
7.0下載地址

收下是以5.5的為例,6和7的只是lib目錄位置不同而已

# tar zxvf apache-tomcat-5.5.33.tar.gz
# mv apache-tomcat-5.5.33 /tomcat現在可以啟動tomcat來查看了
進入tomcat的安裝目錄,裡面有個bin
運行裡面的
startup.sh #啟動
shutdown.sh #關閉

如果出現下面的錯誤提示的話,

Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program請把JAVA的環境變數加上,也就是打開startup.sh 和 shutdown.sh 在第二行加入下面的內容

export JAVA_HOME=/jdk然後重新啟動

查看埠的情況

# netstat -ntlp |grep 8080
tcp        0      0 :::8080                     :::*                        LISTEN      4264/java然後用http://IP:8080/就能看到那個TOMCAT的界面了。

第三步,讓JSP可以和MYSQL通信
安裝jdbc驅動(Connector/J 5.1.17) mysql-connector-java是JSP和MYSQL資料庫連接的必需工具
下載地址
或者是直接下載mysql-connector-java-5.1.17

# unzip mysql-connector-java-5.1.17.zip
# cp mysql-connector-java-5.1.17/mysql-connector-java-5.1.17-bin.jar /tomcat/common/lib/下面是進行測試與資料庫的連接情況
1、修改MYSQL的配置文件,確保是UTF8編碼

# vim /etc/my.cnf:
在相應的位置增加下面的內容,如果沒有就加入

default-character-set=utf8


default-character-set=utf8然後重新啟動MYSQLD服務

隨後就是連接登陸查看

# mysql -uroot -p0123456789
mysql> show variables like '%char%';

mysql> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)2、創建測試資料庫

確認上面是UFT8后,我們就來創建個測試資料庫。注意您的終端也要是UTF8編碼啊,否則中文會出現亂碼!

mysql> create database tomcat;
mysql> use tomcat;
mysql> create table tt(id int, name varchar(128)) character set utf8 collate utf8_general_ci;
mysql> insert into tt values(1,'建表加: character set utf8 collate utf8_general_ci');
mysql> insert into tt values(2,'插入數據: mysql --default-character-set=utf8');
mysql> insert into tt values(3,'jsp 頁面的編碼設為utf-8');
mysql> grant all on tomcat.* to tomcat@localhost identified by 'tomcat';
mysql> exit3、寫測試主頁程序
在/tomcat/webapps/ROOT/這個目錄下,創建一個JSP測試文件如jdbc.jsp內容如下,注意,請務必不要我錯誤的內容。如果你複製此段內容的話,最後兩行的開頭會多出個%,注意把他刪除了。

# vim /tomcat/webapps/ROOT/jdbc.jsp
<%@ page contentType="text/html;charset=utf-8"%>
<%@ page import="java.sql.*"%>


<%
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url ="jdbc:mysql://localhost/tomcat?user=tomcat&password=tomcat&useUnicode=true&characterEncoding=utf-8";
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from tt";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
step:<%=rs.getString(1)%>
context:<%=rs.getString(2)%>


<%}%>
<%out.print("Congratulations!!! JSP connect MYSQL IS OK!!");%>
<%rs.close();
stmt.close();
conn.close();
%>

重新啟動你的tomcat,在瀏覽器中輸入http://IP:8080/jdbc.jsp。如果看到的是

step:1 context:建表加: character set utf8 collate utf8_general_ci

step:2 context:插入數據: mysql --default-character-set=utf8

step:3 context:jsp 頁面的編碼設為utf-8

Congratulations!!! JSP connect MYSQL IS OK!!這樣的內容,那麼恭喜您,資料庫連接成功了。

第四步,tomcat與apache整合
tomcat + apache的結合工具JK 1.2.32 Source Release tar.gz
Tomcat Connectors (mod_jk) Downloads
http://tomcat.apache.org/download-connectors.cgi

因為此程序依賴apache的apax所以,我們需要安裝apache的devel包。如果你是源碼編譯安裝的apache的話,就不用安裝了

# yum install apache-devel

# which apxs
/usr/sbin/apxs

# tar zxvf tomcat-connectors-1.2.32-src.tar.gz
# cd tomcat-connectors-1.2.32-src/native/
# ./configure --with-apxs=/usr/sbin/apxs
# make
# make install這時候會複製個文件到
/usr/lib64/httpd/modules/mod_jk.so
注意,這裡我們不用把LoadModule jk_module modules/mod_jk.so放到httpd.conf文件中,因為下面的配置文件會增加此項內容

編輯文件

/etc/httpd/conf.d/jk.conf
內容如下,

LoadModule jk_module modules/mod_jk.so
JkWorkersFile /etc/httpd/conf.d/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
JkMount /* loadbalancer
#apache will serve the static picture.
JkUnMount /*.jpg loadbalancer
JkUnMount /*.gif loadbalancer
JkUnMount /*.swf loadbalancer
JkUnMount /*.bmp loadbalance
JkUnMount /*.png loadbalancer此配置文件可以在tomcat-connectors-1.2.32-src/conf/httpd-jk.conf 中找到,只是稍加修改

編輯/etc/httpd/conf.d/workers.properties內容如下

worker.list=loadbalancer
worker.loadbalancer.type=ajp13
worker.loadbalancer.host=localhost
worker.loadbalancer.port=8009
worker.loadbalancer.lbfactor=1
worker.loadbalancer.socket_keepalive=1此配置文件可以在tomcat-connectors-1.2.32-src/conf/workers.properties中找到,稍加修改

重新啟動tomcat和hhttpd
這時候,我們可以直接用http://IP/jdbc.jsp來訪問了,不再用8080埠了,這時候就說明tomcat與httpd結合成功了。

第五步,修改工作目錄
修改httpd.conf或者是tomcat的server.xml文件,使其工作目錄在一起,關於httpd.conf的這個就不說了,我主要來講一下關於tomcat的修改方法
打開tomcat/conf/server.xml
在host段中加入下面的內容

然後重新啟動tomcat
這時候,tomcat的根目錄就到/var/www/html下了。

最後感謝我們群中的KADE,是他提供了相應的原文件,我在他的基礎上,加以重新撰寫!
KADE的源文件下載地址如下

《解決方案》

謝謝分享



[火星人 via ] Linux系統上JSP環境搭建(apache與tomcat整合)詳細說明已經有207次圍觀

http://www.coctec.com/docs/service/show-post-1090.html