您的位置:首页 > 运维架构 > Tomcat

Apache整合Tomcat连接数据库

2015-09-15 11:37 423 查看
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/各种脚本的作用



实现环境:
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
[b]・修改环境变量[/b]

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的语句



・在/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 则连接成功
本文出自 “翟军铭的linux博客” 博客,请务必保留此出处http://zhaijunming5.blog.51cto.com/10668883/1694887
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: