Apache 2.2 + Tomcat 6.0 + MySQL 5.0 + mod_jk 整合

MySQL 设定

MySQL 设定的方式很简单,基乎不需要任何的设定,只要确定可以连线到资料库即可。

在 Tomcat 伺服器上,测试 MySQL 连线方如下:

01
02
03
04
05
06
07
08
09
steven $ mysql -u steven -p -h 192.168.1.204
Enter password:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 443 to server version: 5.0.22-log

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql>

以上若可顺利连线到 MySQL 主机则表示成功。

若是连线失败,请检查防火墙设定与 MySQL 是否有启动。

安装 MySQL Connection/J

要使 tomcat 与 MySQL 可以做资源联结,需要有 MySQL Connector/J 的配合才行,可到 MySQL 网站(http://dev.mysql.com/downloads/connector/j/)中下载。

本文编写时,最新版本的 Connector/J 为 5.1.6 版。

01
02
root # lynx 'http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.6.tar.gz/from/http://mysql.ntu.edu.tw/'
root # tar -zxvf mysql-connector-java-5.1.6.tar.gz

下载完后,把 mysql-connector-java-5.1.6-bin.jar 复制到 /opt/tomcat/common/lib/ 里即可

01
root # cp mysql-connector-java-5.1.6/mysql-connector-java-5.1.6-bin.jar /opt/tomcat/common/lib/

编辑 Tomcat 设定档

设定 Tomcat Database Connection Pool 的方式很简单,只要在目录里加上 <Resource></Resource> 标签即可,使用的方式如下:

01
02
03
04
05
06
07
<Engine>
<Host attrs ...>
<Context attrs ...>
<Resource attrs ... />
</Context>
</Host>
</Engine>

把 <Resource> 标签放在 <Context> 里,则此目录的程式都可以引用在此设定的资料库连线资源,以下为实际修改方式:

01
02
03
04
05
06
07
08
09
10
      <Host name="192.168.1.205" debug="0" appBase="/default" unpackWARs="true" autoDeploy="true">
<Context path="/project1" docBase="/projects/project1"
debug="5" reloadable="true" crossContext="true">
<Resource name="jdbc/project1" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="steven" password="pass" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://192.168.1.204:3306/project1?autoReconnect=true"/>

</Context>
</Host>

在 <Resource> 标签里的 name 是指资料库资源名称,username 与 password 为连线的帐号与密码,而 url 里设定了所要连结的资料库主机与资料库名称。当然您必需把 project1 这个资料库先建立起来并设定 steven 帐号可以存取才行。

注意:您可以同时设定多个 Resource 资源,只要 name 不重复即可。

设定完成后,需重新启动 tomcat 伺服器。

闭关 tomcat

0001
0002
0003
0004
0005
root # /opt/tomcat/bin/shutdown.sh
Using CATALINA_BASE: /opt/tomcat
Using CATALINA_HOME: /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME: /opt/java

启动 tomcat

0001
0002
0003
0004
0005
root # /opt/tomcat/bin/startup.sh
Using CATALINA_BASE: /opt/tomcat
Using CATALINA_HOME: /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME: /opt/java

测试 JSP 连线

请在 /projects/project1/ 里建立 db_test.jsp,而 db_test.jsp 的内容如下:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<%@ page session="false" %>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<title>Test of mysql connection pool</title>
</head>
<body>
<%
out.print("start<br/>");
try{
Context initctx = new InitialContext();
Context ctx = (Context) initctx.lookup("java:comp/env");
Object obj = (Object) ctx.lookup("jdbc/project1");
javax.sql.DataSource ds = (javax.sql.DataSource)obj;
Connection conn = ds.getConnection();
out.print("mysql connection pool runs perfectly!");
conn.close();
}
catch(Exception ex){
out.print(ex.getMessage());
ex.printStackTrace();
}
%>
</body>
</html>

请注意,以上 jsp 里 ctx.lookup 里所指定的 jdbc 为 tomcat 设定档里的 <Resource> 名称,与 name 属性相对应。
以上 db_test.jsp 可以点选 此处 下载。

开启浏览器,输入测试程式的网址,若是连线成功则会出现 mysql connection pool runs perfectly! 字样。

若看到此讯息的话,那么恭禧您已经完成了本次的整合,接来您可以对伺服器与应用程式开始测试或调效。若您在过程中遇到了问题,欢迎提出来研究,或是在各套件的网站上都有详细的介绍与方法。

06/27/2008


你可能感兴趣的:(apache,sql,tomcat,mysql,jdbc)