今天偶然在网上发现
apache-2.2.0增加了一个proxy-ajp模块,看了看它可以完全代替原来的mod-jk把tomcat和apache结合到一起。于是我就下载下来试了一下真的很方便比原来的方法简单多了。下面就说明一下我的安装步骤。
安装jdk
#chmod 744 jdk-1_5_0_02-linux-i586.bin
# ./ jdk-1_5_0_02-linux-i586.bin
生成目录:
jdk1.5.0_02
将该文件移动到
/usr/local/java 目录下
mv jdk1.5.0_02 /usr/local/java
测试
java环境是否建立:
#cd /usr/local/java
# ls
bin
demo jre LICENSE README.html src.zip
COPYRIGHT include lib man
sample THIRDPARTYLICENSEREADME.txt
# bin/java –
version
java version "1.5.0_02"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_02-b09)
Java HotSpot(TM) Client VM (build 1.5.0_02-b09, mixed mode, sharing)
显示版本,说明
java环境建立成功!
(注意:
tomcat5.5的必须有jdk1.5这个版本支持)
安装tomcat
[root@leo src]# tar zxvf apache-tomcat-5.5.12.tar.gz
[root@leo src]# mv apache-tomcat-5.5.12 /usr/local/tomcat
启动关闭服务文件放在
/usr/local/tomcat/bin
配置文件
/usr/local/tomcat/conf
web文件
/usr/local/tomcat/webapps
默认访问目录
/usr/local/tomcat/webapps/ROOT
设置环境变量,
在
/etc/profile中末尾加入:
export JAVA_HOME=/usr/local/java
export TOMCAT_HOME=/usr/local/tomcat
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
source /etc/profile(使之生效就可以了)
3.启动与关闭服务:
#cd /usr/local/tomcat/bin
#./startup.sh
(关闭服务:
#./shutdown.sh)
测试:
http://192.168.1.155:8080/
(注:
/usr/local/tomcat/webapps/ROOT目录下面必须有WEB-INF这个目录,否则将无法访问该页面。
安装apache
首先从
http://www.apache.org的网站上下载apache-2.2.0的源代码。apache-2.2.0的版本做了些改动大家需要注意一下。首先apr和apr-util需要单独的安装,还有配置文件由原来的一个变为现在的多个不过这样也好,可以清楚的知道那部分配置在那个配置文件里方便修改。安装步骤如下:
解压
apache的源代码
# tar xvjf httpd-2.2.0.tar.bz2
# cd httpd-2.2.0
安装
apr
# cd srclib/apr
# ./configure --prefix=/usr/local/apr
# make
# make install
安装
apr-util
# cd ../apr-util/
# ./configure --prefix=/usr/local/apr-util /
> --with-apr=/usr/local/apr
# make
# make install
# cd ../../
安装
apache
# ./configure --prefix=/usr/local/apache /
> --enable-so /
> --enable-rewrite=share /
> --enable-proxy=share /
> --enable-proxy-ajp=share /
> --with-apr=/usr/local/apr /
> --with-apr-util=/usr/local/apr-util
# make
# make install
#/usr/local/apache/bin/httpd -l //看看是否有
proxy-ajp这个模块
如果有这个模块证明
proxy-ajp模块安装成功,可以进行与tomcat的结合了。
# vi /usr/local/apache/conf/httpd.conf
把
"#i nclude conf/extra/httpd-vhosts.conf" 前面的"#"去掉然后编辑
Vi /usr/local/apache/conf/extra/httpd-vhosts.conf
编辑为如下的代码
<VirtualHost *:80>
ServerAdmin lzqboy12@21cn.com
ProxyPass / ajp://localhost:8009/
ProxyPassReverse / ajp://localhost:8009/
ServerName localhost
ServerAlias www.leo.com
ErrorLog logs/leo.com-error_log
CustomLog logs/leo.com-access_log common
</VirtualHost>
然后先启动
tomcat,再启动apache
# /usr/local/tomcat/bin/startup.sh
# /usr/local/apache/bin/apachctl start
打开浏览器看看是否看到了
tomcat的欢迎页面,如果是说明apache和tomcat的结合成功
注意:由于
/的设置把所有80端口的访问都forward到了tomcat,所以这可能不是我们所希望的,这种情况下apache只是个转发代理。一般情况下,我们希望apache同时能提供mod_perl、php功能。因此需要单独为jsp的应用配置URI映射。 配置同样很简单ProxyPass /myapp ajp://localhost:8009/,ProxyPassReverse /myapp ajp://localhost:8009/即可。
方法二:
下面介绍一下加载
mod_jk.so模块来解释JSP:
安装
jakarta-tomcat-connectors-1.2.15-src,生成mod_jk.so文件。
安装
jakarta-tomcat-connectors-1.2.15-src.tar.gz
具体过程如下:
#tar zxvf jakarta-tomcat-connectors-1.2.15-src.tar.gz
# cd jakarta-tomcat-connectors-1.2.15-src
# cd jk
# cd native
#./configure --with-apxs=/usr/local/apache/bin/apxs
#make
#make install
# ls /usr/local/apache/modules/
mod_jk.so
(
mod_jk.so会自动被复制到 /usr/local/apache/modules目录下)
整合
apache与tomcat(具体参考apache的官方网站)
编辑
apache的配置文件/usr/local/apache/conf/httpd.conf,在文件末尾添加如下内容:
#ad mod_jk module
LoadModule jk_module modules/mod_jk.so
# Update this path to match your modules location
# Where to find workers.properties
# Update this path to match your conf directory location (put workers.properties next to httpd.conf)
JkWorkersFile /usr/local/apache/conf/workers.properties
# Where to put jk logs
# Update this path to match your logs directory location (put mod_jk.log next to access_log)
JkLogFile
/usr/local/apache/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 everything for context /examples to worker named worker1 (ajp13)
JkMount /*.jsp worker1
新建此文件
/usr/local/apache/conf/workers.properties 添加如下内容:
# Define 1 real worker using ajp13
worker.list=worker1
# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.reclycle_timeout=300
重启
apache即可生效.
安装MYSQL
# groupadd mysql
# useradd -g mysql -d /usr/local/mysql/data -M mysql
# tar -zxvf mysql-5.0.17.tar.gz
# cd mysql-5.0.17
./configure --prefix=/usr/local/mysql /
指定安装目录
> --sysconfdir=/etc /
配置文件的路径
> --localstatedir=/usr/local/mysql/data /
数据库存放的路径
> --enable-assembler /
使用一些字符函数的汇编版本
> --with-mysqld-ldflags=-all-static /
以纯静态方式编译服务端
> --with-charset=utf8 /
添加
utf8字符支持
> --with-extra-charsets=all
添加所有字符支持
# make
# make install
# /usr/local/mysql/bin/mysql_install_db
# chown -R mysql:mysql /usr/local/mysql/data
# cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysqld
# chkconfig --add mysqld
# cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
先安装支持包(注意安装顺序)
先列出配置各种所需要包的网址:
Apache http://httpd.apache.org
PHP http://www.php.net
PDF http://www.pdflib.com
MYSQL http://www.mysql.com
LDAP http://www.openldap.org
IMAP ftp://ftp.cac.washington.edu/
GD http://www.boutell.com/gd/
Zlib http://www.gzip.org/zlib/
Bzip2 http://sources.redhat.com/bzip2/
Libmcrypt http://mcrypt.hellug.gr/
LibPNG ftp://ftp.uu.net/graphics/png 1.2.0
FreeType http://www.freetype.org/index2.html 2.0.6
Jpeg ftp://ftp.uu.net/graphics/jpeg/ v6b
LibTiff http://www.libtiff.org/ 3.5.7
MM lib http://www.engelschall.com/sw/mm/ 1.1.3
建立初始目录:
mkdir /usr/local/modules