Apache + tomcat 整合
Apache + tomcat 整合
步骤: ① 安装apache ② 按照JDK //tomcat需要用的java ③ 安装tomcat ④ 安装apache与tomcat连接的模块 ⑤ 测试
一.apache的安装
方法1:centos6.5(6.4)自带,不过不带apxs(apache扩展功能模块文件)
搭建yum本地源 yum install -y httpd yum install -y httpd-devel 配置文件 /etc/httpd/conf/httpd.conf 网页位置 /var/www/html/ vi /var/www/html/index.html html 192.168.10.3 ./service的路径在/sbin (如果识别不到就添加到幻境变量 /etc/profile) export $PATH:/sbin service httpd start/stop/restart 测试浏览器访问//ip
方法2:官网下载离线包(httpd-2.2.0.tar.gz)安装; /usr/local/apache2为安装路径
# tar xzvf httpd-2.2.0.tar.gz
# cd httpd-2.2.0
# ./configure --prefix=/usr/local/apache2 --enable-so
# make
# make install
WARN:如果使用方法1安装或centos6.5自带,可能没有apxs,需要安装
# yum install httpd-devel
二、安装Tomcat
安装tomcat比较简单,解压运行即可
# cp apache-tomcat-5.5.12.tar.gz /usr/local/
# cd /usr/local
# tar xzvf apache-tomcat-5.5.12.tar.gz
# ln -s apache-tomcat-5.5.12 tomcat --创建软链接
主目录./bin下运行
./startup.sh
./shutdown.sh
三、编译生成mod_jk (注意apxs的路径和apache,module的路径)
# tar xzvf jakarta-tomcat-connectors-1.2.15-src.tar.gz
# cd jakarta-tomcat-connectors-1.2.15-src/jk/native
# ./configure --with-apxs=/usr/local/apache2/bin/apxs
# make
# cp ./apache-2.0/mod_jk.so /usr/local/apache2/modules/
四、配置
在/usr/local/apache2/conf/下面建立两个配置文件mod_jk.conf和workers.properties
# vi mod_jk.conf 及其文件内容
# vi mod_jk.conf 添加以下内容: # 指出mod_jk模块工作所需要的工作文件workers.properties的位置 JkWorkersFile /usr/local/apache2/conf/workers.properties # Where to put jk logs JkLogFile /usr/local/apache2/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" # 将所有servlet 和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理 JkMount /servlet/* worker1 JkMount /*.jsp worker1
# vi workers.properties 及其内容
# vi workers.properties
添加以下内容:
# Defining a worker named worker1 and of type ajp13
worker.list=worker1
# Set properties for worker1
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.socket_timeout=300
再配置Apache的 httpd.conf,作以下修改:
@1 将Listen 80 修改为 Listen 127.0.0.1:80 将ServerName 修改为 ServerName LocalHost:80 @2 在DirectoryIndex中添加 index.jsp @3 我的网页放在/var/wwwroot下,所以要修改DocumentRoot,centos默认是"/var/www/html" DocumentRoot "/var/wwwroot" <Directory "/var/wwwroot"> Options Includes FollowSymLinks AllowOverride None Order deny,allow Allow from all XBitHack on </Directory> <Directory "/var/wwwroot/WEB-INF"> Order deny,allow Deny from all </Directory> @4 增加关于加载mod_jk的语句: LoadModule jk_module modules/mod_jk.so Include /usr/local/apache2/conf/mod_jk.conf #可以写全集路径,如: Include /etc/httpd/conf/*.conf
配置Tomcat的server.xml
最后编辑Tomcat的配置文件server.xml,在HOST段中加入: <Context path="" docBase="/var/wwwroot" debug="0" reloadable="true" crossContext="true"/> 在/var/wwwroot下建立一个index.jsp,启动Apache和Tomcat,用浏览器访问http://localhost/,应该可以看到正确的页面了。
以下是和apache连接的端口,已有,不需要修改,如果apache配置多个tomcat才需要,与上面的 workers.properties 文件配置对应
<!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 --> <Connector port="8009" enableLookups="false" redirectPort="8443" debug="0" protocol="AJP/1.3" />
附:
如果需要参看文件路径
# which httpd
注意,如果apache还是访问jsp文件分发给Tomcat是没反应,有可能是以下原因
SELinux 开启,禁止了端口的数据传送,需要关闭, SELinux为linux安全机制
#找到selinux文件: vi /etc/sysconfig/selinux #修改为以下内容 SELINUX=disabled
--- THE END !! ---
浙公网安备 33010602011771号