Jdk1.6+Tomcat6+Apache2+jk_mod1.2+PHP5+MySql5安装与配置详解

关键词Jdk1.6 Tomcat6 Apache jk_mod PHP

== 软件下载 ==
1. http://java.sun.com jdk-6u6-windows-i586-p.exe
2. http://tomcat.apache.org/download-60.cgi apache-tomcat-6.0.16.exe
3. http://dev.mysql.com/downloads/connector/j/ JDBC连接器mysql-connector-java-5.1.6.tar.gz
4. http://dev.mysql.com/downloads/ mysql-5.0.51b-win32
5. http://httpd.apache.org/download.cgi httpd-2.2.8-win32-src.zip
6. http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/ jk_mod连接器tomcat-connectors-1.2.26-src
7. http://www.php.net/ php-5.2.6-win32-installer.msi或者php-5.2.6-Win32.zip

笔者下载的是当时最新的版本,基本上来讲,新旧版本间差别不大,如果遇到了问题,只要略微查一下在线文档就可以了。

== 安装与配置 ==

一、JDK安装
1、从java.sun.com下载最新的JDK,有在线安装与离线安装两个版本,下载离线安装的版本的就好;
2、选择路径安装,根据你的需要来设定就行,为了在环境变量方便点,可以选择一个好记的路径,如:e:/jdk或者e:/jdk.16;
3、添加JAVA环境变量(我的电脑右键->属性->高级->环境变量->系统变量),这里java_home和jre路径都是你安装的路径,要对应上;
JAVA_HOME 设置变量值 E:/jdk
PATH 设置变量值 .;%JAVA_HOME%;%JAVA_HOME%/bin;
CLASSPATH 设置变量值 .;%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin;%JAVA_HOME%/lib;
4、测试一下是否安装成功
显示java版本信息,在命令行模式下输入
C:>java -version
java version "1.6.0_06"
Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot(TM) Client VM (build 10.0-b22, mixed mode, sharing)


如果含有你jdk安装地址正确了,会得到含有如下环境变量:
C:>path
PATH=.;E:/jdk1.6/bin;

在输入:
C:>set classpath
如果能看见你设置的路径信息就可以了,类似如:
CLASSPATH=.;E:/jdk/;E:/jdk/bin;E:/jdk/jre/bin;E:/jdk/lib;

这就表示你设置环境变量正确了。

建立一个Java文件测试一下吧,写一个HelloTest.java的文件,输入以下的内容然后保存:
public class HelloTest {
public static void main(String arg[]) {
System.out.print("The Java has been successfully installed");
}
}
在命令行模式下,键入javac HelloTest.java,编译通过后,再java HelloTest来执行编译后的class文件。
如果能看见屏幕输出:
> The Java has been successfully installed
表示成功安装。这里如果出现一些提示信息,一般都是环境变量没有配置正确导致的,可以检查一下环境变量设置。


二、Tomcat安装
1、下载 http://tomcat.apache.org/download-60.cgi,根据需要下载2进制的安装版还是解压缩版,如果是Linux就下载tar.gz;
2、假如下载的是2进制文件,双击安装文件如apache-tomcat-6.0.16.exe安装,点下一步,可以选择全部安装,路径自己设定,比如e:/tomcat6,jre会被自动选定。
3、添加TOMCAT环境变量(我的电脑右键->属性->高级->环境变量->系统变量)
系统变量:TOMCAT_HOME
值为 E:/Tomcat6
4、开启Tomcat的servlet访问

tomcat6默认也没有开启servlet、禁止目录浏览。这需要去conf/下配置web.xml文件。
修改listings为true即可以目录浏览,

<param-name>listings</param-name>
<param-value>true</param-value>

<!-- false disable listings -->
<!-- <param-value>false</param-value>-->


开启servlet直接访问功能,把这两段注释打开
<servlet>
<servlet-name>invoker</servlet-name>
<servlet-class>
org.apache.catalina.servlets.InvokerServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>


<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>

同时修改content.xml,修改<Context>,增加<Context privileged="true">

5、部署一个新项目testApp,去conf/下配置server.xml
<Context path="/test" reloadable="true" docBase="E:/test"
workDir="E:Tomcat6webappstestwork" />

docBase是你程序的目录,假设放在E根目录下
这样新项目test就建立了,重启Tomcat,访问http://127.0.0.1:8080/test就可以看到你的目录了

6、中文目录支持
修改server.xml,在<Connector port="8080" 增加URIEncoding
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>

这样就可以访问中文目录了,get也不用这种方式去转码了。
new String(request.getParameter("UserName").getBytes("ISO-8859-1"),"gb2312");
但由于默认字符集是iso8859-1,修改后会对全部部署造成影响。你也可以就某个项目需要支持中文目录时单独设置过滤器。

7、 mysql-java连接器
下载mysql java连接器,用来连接MySql和Java/JSP,可以根据需要选择3.x 或是 5.x,之前我们通用3.x,现在可以试一下5.x
http://dev.mysql.com/downloads/connector/j/
将下载下来得 mysql-connector-java-5.1.6-bin.jar 文件放到 Tomcat6lib目录下
(Tomcat 6.0 修改了目录结构,原common/lib下的所有jar包现在统一到lib目录下,
因此你需要将你原来放置在common/lib目录下的jar改到lib目录下。)

通过连接器来连接MySql和Java/JSP的例子很多,访问http://jiarry.bokee.com/6234733.html,有JDBC数据池连接说明。
也可以查看说明文档:
http://dev.mysql.com/doc/refman/5.0/en/connector-j.html

三、MySql安装
1、http://dev.mysql.com/downloads/下载最新版,现在MySql下载要提前注册一下,如果没有账号就注册一下。
2、一路点击下一步进行安装,在配置时需要注意下,如果你的服务器不是采用utf-8那就就选择gbk作为默认编码字符集,以免以后会有乱码等问题。是否设置密码可以自选。
4、查看MySql信息
E:MySQL5bin>mysql -uroot -p密码
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 1
Server version: 5.0.51b-community-nt MySQL Community Edition (GPL)
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.


mysql> s
--------------
mysql Ver 14.12 Distrib 5.0.51b, for Win32 (ia32)
Connection id: 1
Current database:
Current user: root@localhost
SSL: Not in use
Using delimiter: ;
Server version: 5.0.51b-community-nt MySQL Community Edition (GPL)
Protocol version: 10
Connection: localhost via TCP/IP
Server characterset: gbk
Db characterset: gbk
Client characterset: gbk
Conn. characterset: gbk
TCP port: 3306
Uptime: 2 hours 50 min 36 sec

Threads: 1 Questions: 4 Slow queries: 0 Opens: 12 Flush tables: 1 Open tabl
es: 0 Queries per second avg: 0.000
--------------
mysql> show databases; 查看数据库
5、 建立一个实际连接例子测试一下。查看:http://jarryli.googlepages.com/Jdk1.6Tomcat6Apache2MySql5Install.txt

以上3步完成了Java/JSP的服务器安装,如果用来学习和自测开发就可以了,
但如果你要发布,比如想让Apache作为静态解析服务器,同时还要支持PHP以及其他CGI程序等,可以再安装Apache。
推荐使用Apache作为服务器,用来解析静态资源和做相关配置,再通过jk_mod来连接tomcat,这样的配置用来发布Java项目更好。
如果仅仅是PHP的项目,那就参照下面的Apache和PHP以及上面的MySql就可以了。

四、Apache安装
1、下载apache安装文件
url:http://httpd.apache.org/download.cgi 笔者下载的是2.2.8。
根据需要下载Unix和Windows的版本,windows的有加装openssl的和未加装的,openssl表示可以是使用HTTPS。
2、得到2进制安装包,直接安装即可,安装路径自己来选在即可。可以放在单独的开发盘符下面,比如e:apache2
3、安装完成就可以通过http://localhost/访问了。
4、增加一个目录如,test,修改conf下的httpd.conf文件。
#添加虚拟目录test,可以通过http://localhost/test来访问测试。
Alias /test "E:/test"
<Directory "E:/test">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>

#禁止访问E:/test/下的WEB-INF目录
<Directory "E:/test/WEB-INF">
Order allow,deny
</Directory>


#目录索引默认文件,增加index.jsp index.php等
<IfModule dir_module>
DirectoryIndex index.html index.jsp index.do index.php index.jspx
</IfModule>


#增加默认语言和字符集,打开httpd.conf里注释
Include conf/extra/httpd-languages.conf
#配置httpd-languages.conf文件。新版的Apache里,把语言配置挪到conf/extra/httpd-languages.conf文件里了
DefaultLanguage zh-CN
AddDefaultCharset gb2312
#增加默认语言和字符集编码,都设置为中文,这样即便不用在程序里定义ContentType,HTTP header也会按gbk发送内容了。

5、其他相关配置可以参照在线文档:http://httpd.apache.org/docs/2.2/

五、jk_mod连接Apache与Tomcat
1、下载2进制的文件,根据你的系统来选择。http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/,如果你要自己编译也可以选择源码。
2、把得到mod_jk-1.2.26-httpd-2.2.4.so文件放到Apache的modules目录下。
3、在apache/conf文件下建立mod_jk.confworkers.properties文件。
4、在mod_jk.conf文件里添加以下内容:
# Load mod_jk module 载入mod_jk模块,地址对应正确
LoadModule jk_module modules/mod_jk-1.2.26-httpd-2.2.4.so
# 对应刚新建的workers.properties文件
JkWorkersFile conf/workers.properties
# jk日志文件
JkLogFile logs/mod_jk.log
# jk日志的级别,参数有[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"

# 所有的jsp, do servlet文件交由ajp13处理
JkMount /servlet/* ajp13
JkMount /*.jsp ajp13
JkMount /*.do ajp13

# JkMount 表示使用jk来加载, JkUnMount表示不使用

# JkMount /test/* ajp13 表示把test目录下的所有文件以及子目录都交给tomcat处理
# 一般是jsp和servlet程序交由tomcat处理,静态文件图片等仍然由apache处理
# 可以根据需要来设定,比如只把test/*.jsp交给tomcat处理
# JkMount test/*.jsp ajp13

JkAutoAlias E:/test
#该文件夹下所有的静态文件交由apache处理
JkMount test/servlet/* ajp13
#servlet下所有交给tomcat处理

5、在workers.properties文件里添加
# 到 Tomcat 服务器的连接定义文件,可以参照下面链接配置。但是这些配置不是必须的,空文件或者不使用此文件也可以正常使用
# http://tomcat.apache.org/connectors-doc/reference/workers.html
workers.tomcat_home=e:/tomcat6
workers.java_home=e:/jdk1.6
ps=
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1
#tomcat_home让mod_jk模块知道tomcat的位置
#java_home让mod_jk模块知道jre的位置
#list是模块版本
#port是工作端口,若没占用则不用修改
#host本机,若apache主机不为localhost,可作相应修改
#type是类型ajp13
#代理数,不用修改

6、修改Apache里的con/httpd.conf文件
#装载jk模块,以支持ajp13
Include conf/mod_jk.conf
#配置httpd.conf,参见http://httpd.apache.org/docs/2.2/configuring.html

五、PHP安装
1、http://www.php.net/下载最新的php版本。根据你的系统选择按装包。windows平台下有二进制安装包和压缩包。
2、二进制的就直接安装,选择全部,指定一个合适的路径。如果是压缩包就解压到你指定的目录即可。
注意:
如果是解压缩包,还需要配置apahe下的httpd.conf文件,把PHP模块装载进来。直接二进制安装的最好也检查一下,重新配置一下看是否正确。

AddType application/x-httpd-php .php .phtml .php3
AddType application/x-httpd-php-source .phps
#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
PHPIniDir "E:/PHP/"
LoadModule php5_module "E:/PHP/php5apache2_2.dll"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL

解压缩包安装的还需要注意的一个问题,如果有时遇到mysql_connect不能连接时,
需要把php目录下的php5ts.dll与libmysql.dll复制到系统盘的windows目录下。

3、如果安装包没有自动添加正确的代码,你也可以手工来修改。安装包添加的内容会比较多,如下:
#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
#ScriptAlias /php/ "E:/PHP/"
#Action application/x-httpd-php "E:/PHP/php-cgi.exe"
#LoadModule php5_module "E:/PHP/php5apache2_2.dll"
#LoadModule php5_module "E:/PHP/php5apache2.dll"
#LoadModule php5_module "E:/PHP/php5apache.dll"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
php5apache2_2,php5apache2,php5apache针对apache的不同版本,2.2.x的就直接用E:/PHP/php5apache2_2.dll即可。

4、配置php.ini文件,使支持MySql以及gd2库等等,这些配置可以查看php.ini的说明文档。假设已经顺利配置完成。

六、测试
1、在test目录下建立一个test.php,输入
<?php
header( "Content-type: text/html; charset=gbk");
header( "Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . " GMT" );
header( "Cache-Control: no-cache, must-revalidate" );
header( "Pragma: no-cache" );
?>

<pre>
This is a PHP Page. I am Jarry!
PHP Information:
</pre>
<?php
$conn = mysql_connect("localhost","用户名","密码");
if ($conn) {
echo "Mysql Connect Successfully!";
} else {
echo "Mysql Connect Failed!";
}
echo phpinfo();
?>

2、在test目录下建立一个test.jsp,输入
<%@ page language="java" contentType="text/html; charset=gbk" pageEncoding="gbk"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<pre>
This is a Java Server Page. I am Jarry!
JSP+MySql JDBC Driver and Connection Pool Test:
</pre>
<%
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>");
} catch (javax.naming.NamingException e) {
out.println("环境变量上下文创建失败!<br>");
e.printStackTrace();
}
%>
3、分别访问http://localhost/test/test.phphttp://localhost/test/test.jsp,如果能均能正常显示就表示整合成功。

参考:
http://jiarry.bokee.com/6234733.html
http://jarryli.googlepages.com/Jdk1.6Tomcat6Apache2MySql5Install.txt
安装Jdk+Tomcat+Apache+PHP+MySql (Windows) 详细介绍 http://jiarry.bokee.com/2375369.html
安装Jdk+Tomcat+Apache+PHP+MySql (Linux) 详细介绍 http://jiarry.bokee.com/2425368.html

Comments

Popular posts from this blog

听《苹果再崛起解析》讲座