在CentOS 6.3环境下Apache整合jsp的步骤记录。
1.安装jsk 解压
tar -xvf jdk.1.6..tar.gz 解压
mv jdk.1.6 jdk 将jdk目录名称简化
mv jdk /usr/local/ 将jdk移动到/usr/local/下
2.解压安装apache 2.2.4
./configure --prefix=/usr/local/apache2 \ 指定apache的安装目录
--enable-so \ 开启动态加入模块功能
--enable-mods-shared=most \ 开启大部分模块
--enable-proxy \
--enable-proxy-connect \
--enable-proxy-ftp \
--enable-proxy-http
make && make install 编译 与安装
cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd
ln -s /etc/init.d/httpd /etc/rc3.d/s90httpd
设置开机自动启动
3.解压tomcat
tar -xvf tomcat.7.0.tar.gz
mv apache-tomcat.7.0 tomcat
mv tomcat /usr/local/
cp /usr/local/tomcat/bin/catalina.sh /etc/init.d/tomcat
ln -s /etc/init.d/tomcat /etc/rc3.d/s91tomcat
将 tomcat设置为开机自动启动
4.设置环境变量
vi /etc/profile
在最下面添加
export JAVA_HOME=/usr/local/jdk
export CATALINA_HOME=/usr/local/tomcat
export PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
退出后 用 source /etc/profile 来刷新环境变量文件,这样不用重启系统
5.安装jk 模块
tar -xvf jk
cd jk/native
chmod 755 buildconf.sh
./buildconf.sh
./configure --with-apxs=/usr/local/apache2/bin/apxs
make 这里只编译 不安装
cd jk/native/apache-2.0/
cp -p mod_jk.so /usr/local/apache/modules
6.整合配置文件
cd /usr/local/apache2/conf
vi http.conf 修改apache的配置文件
修改listen 192.168.1.99:80
添加LoadModule jk_module modules/mod_jk.so
include /usr/local/apache2/conf/mod_jk.conf
ServerAdmin admin@admin.com
Servername :80 去掉注释
<directory "/var/www"> 站点目录
DocumentRoot "/var/www" 虚拟目录
DirectoryIndex index.html index.jsp index.htm
添加上index.jsp
创建mod_jk.conf 和workers.properties 这两个配置文件
vi mod_jk.conf
JkWorkersFile /usr/local/apache2/conf/workers.properties
JkLogFile /usr/local/apache2/logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
JkMount /servlet/* worker1
JkMount /*.jsp worker1
vi workers.properties
# 此配置是针对多tomcat的整合,很简单,可以根据自己的需要修改
# workers.properties
#
# list the workers by name
worker.list=loadBalanceServers, jk_watcher
# localhost server 1
# ------------------------
worker.s1.port=8109
worker.s1.host=localhost
worker.s1.type=ajp13
worker.s1.lbfactor=10
worker.s1.cachesize=5
# localhost server 2
# ------------------------
worker.s2.port=8209
worker.s2.host=localhost
worker.s2.type=ajp13
worker.s2.lbfactor=10
worker.s2.cachesize=5
worker.loadBalanceServers.type=lb
worker.loadBalanceServers.balanced_workers=s1,s2
worker.loadBalanceServers.sticky_session=false
worker.jk_watcher.type=status
# worker.jk_watcher.read_only=True
worker.jk_watcher.mount=/admin/jk
worker.retries=3
这两个文件放在/usr/local/apache2/conf 目录的下面
cd /usr/local/tomcat/conf
vi server.xml
在最下面<host>之间添加以下内容
<Context path="" docBase="/var/www" debug="0" reloadable="true" crossContext="true"/>
将appBase="/usr/local/apache2"修改
现在 重启服务 浏览 jsp页面 应该没问题了。
apache 通过 jk模块,将jsp页面 交给了tomcat来处理。
当然也可以反向代理 来实现。这只是一种老办法了。