首页 | 博客群 | 公社 | 专栏 | 论坛 | 图片 | 资讯 | 注册 | 帮助 | 博客联播 | 随机访问
[随笔]关键是看你怎么做- -| 回首页 | 2006年索引 | - -微软员工恶搞视频:微软版iPod包装盒

整合 GNU/Linux、Apache2、PHP5、Tomcat5、jk2

关键词Linux    Apache    Tomcat    jk2    PHP                                          

作者:辛亚平
日期:2006年04月12日

零、前言与鸣谢

本文记录了整合 GNU/Linux、Apache 2.2.0、PHP 5.1.2、JDK1.5.0、Tomcat 5.5.16、jk2 2.0.4 的详细过程。JK2 的部分是解决的重点,其余部分都很顺利,唯独 JK2 的编译颇费周折,但是我只记下正确的做法,略去中间摸索的过程。对于 Apache2 与 PHP5 的安装,网上的教程很多,但本文提供的编译参数是经过优化的。

注:关于如何用 jk2 2.0.4 整合 Apache 2.2.0 与 Tomcat 5.5.16,本文参考了以下 3 篇文章:

关于Apache的性能优化 文章出处:DanceFire的专栏
APACHE整合TOMCAT 文章出处:http://www.cublog.cn/opera/index.php?blogid=306
谈谈我对apache+tomcat+jk2整合的理解 文章出处:DouZhe.com

特此感谢以上 3 篇文章的作者!

一、软件环境

Arch Linux 0.7.1Kernel26-2.6.16-ARCH
JDK 1.5.0_06
PHP 5.1.2
Apache 2.2.0
Tomcat 5.5.16
JK2 2.0.4

二、安装 Apache 2.2.0

从源码编译:

[xinsoft@Jessie]$ ./buildconf

[xinsoft@Jessie]$ ./configure \
--with-mpm=worker \
--enable-cache \
--enable-disk-cache \
--enable-mem-cache \
--enable-file-cache \
--enable-nonportable-atomics \
--enable-mods-shared=most

[xinsoft@Jessie]$ make install clean

安装的位置:/usr/local/apache2

三、安装 PHP 5.1.2

准备工作:

[xinsoft@Jessie]$ pacman -S gd
[xinsoft@Jessie]$ pacman -S gdm
[xinsoft@Jessie]$ cp /usr/include/gd.h /usr/lib/gd.h

注:pacman 是 arch Linux 所带的软件包管理工具。arch Linux 是针对 i686 优化了的 Linux 发行版本,而 pacman 是我最喜欢的软件包管理工具,正是基于这两个原因,我选择了 arch Linux 作为我的开发环境和测试服务器环境。

从源码编译:

[xinsoft@Jessie php-5.1.2]$ ./configure \
--prefix=/usr/local/php/v5.1.2/ \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-xslt \
--with-freetype=/usr/include/freetype2 \
--with-zlib-dir=/usr/include \
--with-ttf --with-jpeg-dir=/usr/lib \
--with-gdbm=/usr/lib \
--with-gd=/usr/lib/

[xinsoft@Jessie php-5.1.2]$ make install clean

安装的位置:/usr/local/php/v5.1.2

四、整合 Apache2 与 PHP5

上面编译 PHP5 结束后,/usr/local/apache2/modules/libphp5.so 就已经存在了。

[xinsoft@Jessie]$ vi /usr/local/apache2/conf/httpd.conf

LoadModule php5_module  modules/libphp5.so
AddType application/x-httpd-php .php

写个程序来检验一下:

[xinsoft@Jessie]$ touch /usr/local/apache2/htdocs/php.php

运行:http://192.168.20.48/php.php

五、安装 JDK 1.5.0_06 与 Tomcat 5.5.16

JDK 安装的位置:/usr/local/javasoft/java/jdk/v1.5.0_06/
Tomcat 安装的位置:/usr/local/apache.org/tomcat/v5.5.16/

/etc/profile 中相应地增加的内容:

# ADD by Xinsoft, 2006-04-11 19:53:00
# jdk::begin for jdk 1.5.0_06

export JAVA_HOME=/usr/local/javasoft/java/jdk/v1.5.0_06
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH

# jdk::end

# ADD by Xinsoft, 2006-04-12 22:23:04
# tomcat::begin for apache-tomcat-5.5.16

export CATALINA_HOME=/usr/local/apache.org/tomcat/v5.5.16

# tomcat::end


六、编译 JK2 2.0.4

[xinsoft@Jessie apache2]$ cd /usr/local/apache.org/jk2/jk2-2.0.4-src
[xinsoft@Jessie jk2-2.0.4-src]$ cd jk/native2/
[xinsoft@Jessie jk2-2.0.4-src]$ ./configure --with-apxs2=/usr/local/apache2/bin/apxs
[xinsoft@Jessie jk2-2.0.4-src]$ make
[xinsoft@Jessie jk2-2.0.4-src]$ cd ../build/jk2/apache2
[xinsoft@Jessie apache2]$ /usr/local/apache2/bin/apxs -n jk2 -i mod_jk2.so


[xinsoft@Jessie apache2]$ cd /usr/local/apache2/conf
[xinsoft@Jessie conf]$ vi httpd.conf

LoadModule jk2_module modules/mod_jk2.so

七、写 JK2 的配置文件

JK2所用的配置文件有2个:

jk2.properties  位置:/usr/local/apache.org/tomcat/v5.5.16/conf
   作用:可能是定义tomcat与apache的通讯端口等

workers2.properties 位置:/usr/local/apache2/conf
   作用:告诉apache有哪些目录是tomcat支持的

[xinsoft@Jessie conf]$ cd /usr/local/apache.org/tomcat/v5.5.16/conf
[xinsoft@Jessie conf]$ touch jk2.properties
[xinsoft@Jessie conf]$ vi server.xml

   
                   enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />

不要修改这个文件。直接退出。

[xinsoft@Jessie conf]$ cd /usr/local/apache2/conf
[xinsoft@Jessie conf]$ touch workers2.properties
[xinsoft@Jessie conf]$ vi workers2.properties

# Define the communication channel
[channel.socket:localhost:8009]
info=Ajp13 forwarding over socket
tomcatId=localhost:8009

# Map the Tomcat examples webapp to the Web server uri space
[uri:/jsp-examples/*]
info=Map the tomcat webapp of /jsp-examples/

[uri:/servlets-examples/*]
info=Map the tomcat webapp of /servlets-examples/

# Define the log file location and file size
[shm]
file=/usr/local/apache2/logs/shm.file
size=1048576

八、检验我们的劳动成果

[xinsoft@Jessie conf]$ /usr/local/apache2/bin/apachectl -k restart

【作者: 辛亚平】【访问统计:】【2006年04月13日 星期四 01:59】【注册】【打印

搜索

Google

Trackback

你可以使用这个链接引用该篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryID=4867535

博客手拉手

回复

- 评论人:辛亚平   2006-04-23 09:10:20   辛亚平的博客  

再回复 Marvin :是用Access自己带的数据库压缩功能哟,别误以为是用WinZip之类的工具去压缩的。

- 评论人:辛亚平   2006-04-23 02:44:22   辛亚平的博客  

回复 Marvin :压缩一下Access数据库看看。由于Access是文件型数据库,所以存在这个小问题。

- 评论人:Marvin   2006-04-21 13:05:42   

辛哥问你个问题呗:我的access数据库今天已达到4M了,我今天做了一下测试,我把里面数据最多的1万多条的那个表删掉了,可是整个数据库大小还是一点没变,怎么能让access小点呢?

- 评论人:柳拂风   2006-04-17 16:41:37   

既然用了apache2.2,就没有必要用jk2了。

验证码:   
评论内容: