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 则连接成功

你可能感兴趣的:(web服务器,客户端,连接数据库)