Apache整合Tomcat連接數據庫

1.Apache與Tomcat比較聯繫

apache支持靜態頁,tomcat支持動態的,比如servlet等。

一般使用apache+tomcat的話,apache只是作爲一個轉發,對jsp的處理是由tomcat來處理的。

apache可以支持php\cgi\perl,但是要使用java的話,你需要tomcat在apache後臺支撐,將java請求由apache轉發給tomcat處理。

apache是web服務器,Tomcat是應用(java)服務器,它只是一個servlet(jsp也翻譯成servlet)容器,可以認爲是apache的擴展,但是可以獨立於apache運行。

2.整合的好處是:
如果客戶端請求的是靜態頁面,則只需要Apache服務器響應請求
如果客戶端請求動態頁面,則是Tomcat服務器響應請求
因爲jsp是服務器端解釋代碼的,這樣整合就可以減少Tomcat的服務開銷

    先安裝LAMP環境·······略

3./usr/local/tomcat/bin/各種腳本的作用

wKioL1X7iLDRR3lbAAHlFsuPyW4812.jpg

實現環境:

Linux:Centos6.5

Apache:httpd-2.2.16.tar.gz

Cmake:cmake-2.8.10.2.tar.gz

Mylsq:mysql-5.6.10.tar.gz

Php:php-5.3.28.tar.gz

所用到的軟件:

Tomcat:apache-tomcat-7.0.64.tar.gz

Tomcat連接器:tomcat-connectors-1.2.32-src.tar.gz

JDK:jdk-7u67-linux-x64.tar.gz

Tomcat連接數據庫:mysql-connector-java 5.1.17

1.安裝JDK

 ·解壓並移動JDK

tar zxvf  jdk-8u31-linux-i586.tar.gz    
mv jdk1.8.0_31   /usr/local/jdk

·修改環境變量

vim /etc/profile.d/java.sh

JAVA_HOME=/usr/local/jdk       
JAVA_BIN=/usr/local/jdk/bin
JRE_HOME=/usr/local/jdk/jre
PATH=$PATH:/usr/local/jdk/bin:/usr/local/jdk/jre/bin
CLASSPATH=/usr/local/jdk/jre/lib:/usr/local/jdk/lib:/usr/local/jdk/jre/lib/charsets.jar

 ·初始化

. /etc/profile.d/java.sh

·測試是否配置成功

java  -version

2.安裝Tomcat

·解壓並移動

tar zxvf apache-tomcat-7.0.57.tar.gz              
mv apache-tomcat-7.0.57  /usr/local/tomcat

·啓動Tomcat

cd /usr/local/tomcat/bin
./shutdown.sh     #停止tomcat
./startup.sh      #啓動tomcat

·測試tomcat

網站輸入ip:8080 出現tomcat默認頁面

3.整合tomcat和Apache         #需要藉助apache-tomcat的連接器

·解壓tomcat連接器

tar zxvf tomcat-connectors-1.2.32-src.tar.gz

·指定Apache的apxs路徑

cd tomcat-connectors-1.2.32-src/native
./configure --with-apxs=/usr/local/apache2/bin/apxs
make

·添加mod_jk模塊

tar zxvf jakarta-tomcat-connectors-1.2.15-src.tar.gz
cd jakarta-tomcat-connectors-1.2.15-src/jk/native
./configure --with-apxs=/usr/local/apache2/bin/apxs
make
cp ./apache-2.0/mod_jk.so /usr/local/apache2/modules/

·Apache整合tomcat

vim  /usr/local/apache2/conf/httpd.conf

在DirectoryIndex上添加nindex.jsp
<IfModule dir_module>
     DirectoryIndex index.jsp index.php index.html
</IfModule>

·增加關於加載mod_jk的語句

wKiom1X3jQOwmtLMAACzR6khj1g844.jpg

·在/usr/local/apache2/conf下建立配置文件mod_jk.conf

指出mod_jk模塊工作所需要的工作文件workers.properties的位置, jk日誌放在哪裏, jk日誌級別, 選擇日誌格式, JkOptions送SSL關鍵尺寸顯示, JkRequestLogFormat設置要求的格式 , 將所有servlet 和jsp請求通過ajp13的協議送給Tomcat,讓Tomcat來處理

vim /usr/local/apache2/conf/mod_jk.conf

JkWorkersFile /usr/local/apache2/conf/workers.properties
	 
	###### Where to put jk logs
	JkLogFile /usr/local/apache2/logs/mod_jk.log
	 
	###### Set the jk log level [debug/error/info]
	JkLogLevel info
	 
	###### Select the log format
	JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
	 
	###### JkOptions indicate to send SSL KEY SIZE,
	JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
	 
	###### JkRequestLogFormat set the request format
	JkRequestLogFormat "%w %V %T"
	 
	###### 將所有servlet 和jsp請求通過ajp13的協議送給Tomcat,讓Tomcat來處理
JkMount /servlet/* worker1
	JkMount /*.jsp worker1
	JkMount /*.do worker1

·在/usr/local/apache2/conf下建立配置文件workers.properties

定義一個工人叫worker1 ajp13和類型

vim /usr/local/apache2/conf/workers.properties

worker.list=worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.prot=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300

·找到tomcat配置文件路徑,編輯server.xml

vim /usr/local/tomcat/conf/server.xml

·在<host>段加入

<Context path="" docBase="/usr/local/apache2/htdocs" debug="0" reloadable="ture"
 crossContext="ture"/>

·編輯一個index.jsp的網頁

vim /usr/local/apache2/htdocs/index.jsp

<% 
    out.println("hello tomcat ");
  %>

·重啓tomcat和apache

/usr/local/apache2/bin/apachectl  restart
cd /usr/local/tomcat/bin
./shutdown.sh
./startup.sh

·整合完成,測試

 輸入ip地址,出現hello tomcat

4.連接數據庫

jsp使用mysql-connector-java 5.1.17連接mysql

·解壓zip包

unzip mysql-connector-java 5.1.17.zip

·把mysql-connector-java 5.1.17-bin.jar 放到tomcat目錄下的lib目錄

cp mysql-connector-java-5.1.17-bin.jar /usr/local/tomcat/lib/

·編寫一個測試頁面 test_mysql.jsp,如果頁面顯示OK就標明可以連接到數據庫

vim /usr/local/apache2/htdocs/test_mysql.jsp

<%@ page language="java" %>
	<%@ page import="com.mysql.jdbc.Driver" %>
	<%@ page import="java.sql.*" %>
	<%
	String driverName="com.mysql.jdbc.Driver";
	String userName="root";
	String userPasswd="123";
	String dbName="test";
	String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPasswd;
	Class.forName("com.mysql.jdbc.Driver").newInstance();
	try
	{
	        Connection connection=DriverManager.getConnection(url);
	        out.println(" O K !");
	        connection.close();
	}
	catch( Exception e )
	{
	        out.println( "connent mysql error:" + e );
	}
	%>

·重啓tomact和Apache,屬於ip/test_mysql.jsp 出現OK 則連接成功

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章