Jdk1.6+Tomcat6+Apache2+MySql5 安装(Windows版)
软件下载:
1, j2se jdk1.6
http://java.sun.com/javase/downloads/index.jsp
2, Tomcat 6
http://archive.apache.org/dist/tomcat/tomcat-6/
3, Apache 2.2.4
http://archive.apache.org/dist/httpd/
4, MySql5.0.27
http://dev.mysql.com/downloads/mysql/
5, mysql-connector-java-5.0.5
http://dev.mysql.com/downloads/connector/j/
6,mod_jk-apache-2.2.4.so
http://tomcat.apache.org/download-connectors.cgi
可以根据需要下载最新的或最稳定的版本,如果部署线上环境可以用稳定的版本,
但是如果在学习和调试,可以尝试新的版本,因为事物是向前发展的。
一般网页程序或服务,如果不是非常巨大,用Tomcat做Web server就可以了,没有必要整合apache+tomcat。
当然如果确实有必要,比如要把静态文件(html,图片等)和Java文件分别由apache和tomcat来解析,
或者为了学习、测试、以及还要运行php等等情况,可以考虑整合下apache + tomcat。
如果只需要JSP网页服务器的,只要安装JDK+Tomcat就可以了,安装过程非常简单。
================================================================================
安装过程
本篇安装介绍下载文档:
http://jarryli.googlepages.com/Jdk1.6Tomcat6Apache2MySql5Install.txt
Step 1 JDK安装
----------------------------------------------------------------------------------
1.1 点击jdk-6u1-windows-i586-p.exe文件安装Jdk,选择目录(假使E:/jdk1.6),一路回车,安装完成
1.2 添加JAVA环境变量(我的电脑右键->属性->高级->环境变量->系统变量)
CLASSPATH 设置变量值 .;%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin;%JAVA_HOME%/lib;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib/dt.jar
JAVA_HOME 设置变量值 E:/jdk1.6
PATH 设置变量值 .;%JAVA_HOME%;%JAVA_HOME%/bin;
1.3 在DOS命令行状态下测试Java是否成功安装,敲入java -version可以查看版本
c:/>java -version
java version "1.6.0_01"
Java(TM) SE Runtime Environment (build 1.6.0_01-b06)
Java HotSpot(TM) Client VM (build 1.6.0_01-b06, mixed mode, sharing)
1.4 测试HelloWorld,新建一个HelloWorld.java的文件,内容如下
public class HelloWorld {
public static void main(String arg[]) {
System.out.println("Hello World!这是Java测试程序,说明你已成功安装了Java -- Jarry!");
}
}
在命令行输入javac HelloWorld.java,编译一下,然后再执行java HelloWorld,就能看到正常的输出了。
出现错误一般是环境变量或大小写等有问题,仔细检查就没有问题了。
Step 2 Tomcat安装
----------------------------------------------------------------------------------
2.1 点击apache-tomcat-6.0.10.exe文件安装Tomcat,选择目录(假使E:/Tomcat6)安装完成后
2.2 添加TOMCAT环境变量(我的电脑右键->属性->高级->环境变量->系统变量)
TOMCAT_HOME 设置变量值 E:/Tomcat6
2.3 从程序菜单或是服务里启动Tomcat,然后你在浏览器输入http://localhost:8080/就可以看到Tomcat欢迎页面。
正常情况下都会成功,如果启动失败,请检查jakarta_service_日期.log日志,通过它一般可以解决问题。
比如出现类似报错:
[947 prunsrv.c] [error] Failed creating java
请看一下系统盘windows/system32/下是否丢失msvcr71.dll文件,如果缺失,需要从别的机器拷贝一个过来。
打开浏览器 进入http://localhost:8080/,当看见Tomcat小猫的图标了,这样表示安装成功。
至此,JSP服务器就搭建完成了,用于学习和测试没有问题了,如果想要更高级的配置,可以往下面继续看。
Tomcat 6与Tomcat 5或者之前版本不一样的就是,首页没有显示具体的版本,猫猫也变大了些。
没有admin管理页面了,admin在Tomcat 5.5来默认都没有了,不过可以下载admin包。
而Tomcat 6.0没有看见admin包,不过这并不要紧,一般情况下也不需要admin包。
2.4 部署一个新项目testApp,去conf/下配置server.xml
<Context path="/testApp" reloadable="true" docBase="E:/testApp"
workDir="E:/Tomcat6/webapps/testApp/work" />
docBase是你程序的目录,假设放在E根目录下
这样新项目testApp就建立了,重启Tomcat,访问http://127.0.0.1:8080/testApp就可以看到你的目录了
2.5 mysql-java连接器
下载mysql java连接器,可以根据需要选择3.x 或是 5.x,之前我们通用3.x,现在可以试一下5.x
http://dev.mysql.com/downloads/connector/j/
将下载下来得 mysql-connector-java-5.0.5-bin.jar 文件放到 Tomcat6/commom/lib目录下
(Tomcat 6.0 修改了目录结构,原common/lib下的所有jar包现在统一到lib目录下,
因此你需要将你原来放置在common/lib目录下的jar改到lib目录下。)
2.6 JDBC数据库连接池,假设已经安装了mysql(没安装就先安装),并且建立了数据库test, 修改conf/下server.xml
<Context path="/testApp" docBase="E:/testApp"
debug="5" reloadable="true" crossContext="true" workDir="">
<Resource name="jdbc/testApp"
auth="Container"
type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="root" password=""
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test?autoReconnect=true&useUnicode=true&characterEncoding=utf-8"/>
</Context>
注意&要写成& characterEncoding和useUnicode用来解决中文乱码问题,地版本配置会略有不同。
另外,在项目文件夹下/webapps/testApp/WEB-INF/新建web.xml文件,添加
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<description>MySQL Test App</description>
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/testApp</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
2.7 建立JDBCtest.jsp,可以来检测JDBC连接是否成功
<%@ page
language="java"
contentType="text/html; charset=GB2312"
pageEncoding="GB2312"
%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
数据库连接池测试结果:
<%
out.println("JDBC驱动检查<br>");
try {
Class.forName("com.mysql.jdbc.Driver");
out.println("检查成功!<br>");
} catch (ClassNotFoundException cnfe) {
out.println("JDBC驱动创建失败!<br>");
cnfe.printStackTrace();
}
out.println("<br>环境命名空间检查<br>");
try {
javax.naming.Context ctx = new javax.naming.InitialContext();
javax.naming.Context envContext =
(javax.naming.Context) ctx.lookup("java:/comp/env");
out.println("检查成功!<br>");
out.println("<br>查找数据源<br>");
// org.apache.commons.dbcp.BasicDataSource ds =
// (org.apache.commons.dbcp.BasicDataSource) envContext.lookup("jdbc/testApp");
DataSource ds =(DataSource)ctx.lookup("java:comp/env/jdbc/testApp");
out.println("查找成功!<br>");
// 早期版本可以用BasicDataSource接收以获得比DataSource接口更具体的信息,便于错误查找
out.println("<br>检查数据库<br>");
Connection conn = ds.getConnection();
DatabaseMetaData metaData = conn.getMetaData();
ResultSet rs = metaData.getCatalogs();
while (rs.next())
out.println(rs.getString(1) + "<br>");
rs.close();
} catch (javax.naming.NamingException e) {
out.println("环境变量上下文创建失败!<br>");
e.printStackTrace();
} catch (SQLException e) {
out.println("数据库操作执行失败!<br>");
e.printStackTrace();
}
%>
这样就可以通过/hello来访问servlet程序。
Setp 3 Apache安装
----------------------------------------------------------------------------------
3.1 Apache 一路回车安装即可
敲入http://127.0.0.1就能看见欢迎界面。
欢迎界面与2.0.x或者1.x不一样,你看见的将是 It works!, 而不再是,您能看见这个页面,说明您已经成功安装之类的。
3.2 连接apache 与 tomcat,通过apache来解析静态文件,tomcat解析java确实不错。
如果你打算只用Tomcat做服务器的话,那就不用安装apache了,实际上Tomcat作为服务器也非常好。
当然了,整合apahce + tomcat 也不麻烦,主要是下载mod_jk.so文件,和增加两个配置文件。
3.2.1 下载 mod_jk.so (http://mirrors.ibiblio.org/pub/mirrors/apache/tomcat/tomcat-connectors/)
参阅文章: http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html
http://tomcat.apache.org/connectors-doc/reference/workers.html
这里使用的是jk而不是jk2,下载得到的是mod_jk-apache-2.2.4.so文件,可以根据apache版本来选择合适的。
将下载文件copy至Apache的modules目录下
3.2.2 新建workers.properties,便于管理就在apache2/conf下,加入下面内容
JkAutoAlias f:/tomcat6/webapps/apptest
JkMount /*.* ajp13
JkMount /*.vm ajp13
JkMount /* ajp13
JkMount /*/servlet/ ajp13
3.2.3 新建mod_jk.conf文件,也放在apache2/conf目录下,加入下面内容
# Load mod_jk module
LoadModule jk_module modules/mod_jk-apache-2.2.4.so
# Where to find workers.properties
#JkWorkersFile conf/workers.properties #对刚新建的workers.properties文件
JkWorkersFile "C:/Program Files/Apache Software Foundation/Apache2.2/conf/workers.properties"
# Where to put jk logs
JkLogFile 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"
# Send servlet for context /examples to worker named ajp13
JkMount /servlet/* ajp13
# Send JSPs for context /examples to worker named ajp13
JkMount /*.jsp ajp13
JkMount /*.vm ajp13
JkMount /*.do ajp13
JkMount /*.* ajp13
# 增加testApp目录,把改目录下所有文件全部交给tomcat处理,
JkMount /test1/* ajp13
# 也可以根据需要来设定,比如只把testApp/*.jsp交给tomcat处理
#JkMount /*.jsp ajp13
JkMount /*.vm ajp13
3.2.4 修改conf/httpd.conf文件,把mod_jk.conf文件include装载进来,添加如下
Include conf/mod_jk.conf
#jarry add for contact to tomcat
#添加testApp
Alias /test1 "F:/tomcat6/webapps/test1"
<Directory "F:/tomcat6/webapps/test1">
Options Indexes MultiViews
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride None
Order allow,deny
Allow from all
</Directory>
重启apache,
通过http://172.18.101.17:8080/testApp/或http://172.18.101.17/testApp/
都能访问Tomcat项目,说明整合成功。
也可以建立一个jsp文件来测试,如果不用8080端口能直接解析,那说明整合成功。
如果出现问题注意查看,apache/logs/下的log文件,仔细对照,一般就能解决啦。
================================================================================
总的说来,安装新版与老版本差不多,只是一时兼容性不是太好。
不过用来开发和学习,使用新版还是挺不错的,可以学到新的方法和东西,新版本整合更容易些
而如果部署对外的服务,还是采用经典或是成熟的版本吧。:)
安装过程要多看apache官方网站的文档,http://tomcat.apache.org/tomcat-6.0-doc/
通过文档就可以详细了解安装步骤了,出错了也好检查,版本不同配置等难免会有一点不同,这是看官方文档就很重要了。
如果有问题,请注意观看apache下面的log,上面有很详细的提示
注意更改server.xml中的connector,上面有个端口号是8009,apache默认会通过那个端口来连接tomcat,注意修改好