heberoxx 发表于 2016-12-29 08:45:46

apache + tomcat

  Apache 只能用来处理静态网页,不能处理 asp,jsp,servlet 等这种动态网页, 而 Tomcat 是java 应用服务器,能处理动态网页. 可以整合 apache 和 tomcat 来部署企业应用

  一. 安装web服务器
  下载 Tomcat6.0, 解压至F盘. 安装 apache-2.4.4 的版本, 安装完后, 浏览器输入 localhost 和 localhost:8080 检查是否正常显示
  二. 下载和配置mod_jk
  mod_jk 是用来连接apache和tomcat的插件,使apache具有处理jsp/servlet能力
  1. 下载二进制包,这里下载最新 mod_jk_1.2.40 32位 版本,解压后将 mod_jk.so 拷贝到 $(APACHE2_HOME)/modules 目录 
  2. 配置 jsp工作目录: E:\wwwroot
  编辑$(TOMCAT)/conf/server.xml, 在<Host> </Host>之前添加:
  <Context path="" docBase="E:\wwwroot" reloadable="true" crossContext="true"/>
  3. 配置workers.properties ,告知 apache tomcat服务器位置
  在$(TOMCAT)/conf 下新建workers.properties, 输入

# tomcat 路径
workers.tomcat_home=F:\tomcat
# jre路径
workers.java_home=D:\Program Files\Java\jdk1.6.0_29
# 指定文件路径分隔符
ps=/
worker.list=ajp13         # 自定义worker 名称
worker.ajp13.port=8009    # 工作端口,默认8009,与 server.xml 保持一致
worker.ajp13.host=localhost# tomcat 服务器地址
worker.ajp13.type=ajp13# 使用协议
worker.ajp13.lbfactor=1# 负载平衡因数
  三. 配置 apache,感知 tomcat
  编辑 $(APACHE2_HOME)/conf/httpd.conf

# 加载 mod_jk.so 模块
LoadModule jk_module modules/mod_jk.so
# apache与tomcat共用一个工作目录
DocumentRoot "E:/wwwroot"
<Directory "E:/wwwroot">
AllowOverride All
Options None
Order Allow,Deny
Allow from all
</Directory>
# 添加jsp类型
AddType application/x-httpd-jsp .jsp
<IfModule jk_module>
# 指定 workers.properties 路径
JkWorkersFile "F:/tomcat/conf/workers.properties"
JkLogFile "F:/tomcat/logs/mod_jk2.log"
JkLogLevel info
# 向apache请求*.jsp,*.do动作时,用Tomcat解析
JkMount /*.jsp ajp13
JkMount /servlet/* ajp13
JkMount /*.do ajp13
ErrorLog logs/jk_error_log.txt
CustomLog logs/jk_access_log.txt common
</IfModule>
  四. 测试
  编写 hello.jsp文件

<%@page language = "java" import = "java.util.*"%>
Hello world!<br>
Now the time is: <%out.println(new Date());%>
  浏览器输入: localhost/hello.jsp 报错: Forbidden You don't have permission to access / on this server 
  编辑 httpd.conf, 打开根目录的访问权限:

<Directory />
AllowOverride none
#Require all denied
Allow from all# 将上面一行注释,替换成该行
</Directory>
  重启apache, 显示:

  注: 之前测试过程中一直显示503错误, 查看 logs/mod_jk2.log 显示: jk_connect.c (594): connect to 184.202.120.0:8009 failed (errno=61)
  这就奇怪了, 怎么会连接 184.202.120.0 这个IP地址呢,我上面不是配置的 localhost 的吗? 没折了, 发现用的是  tomcat-connectors-1.2.39-windows-i386-httpd-2.4.x.zip , 不是最新版, 果断换成 1.2.40 测试, 一切正常
页: [1]
查看完整版本: apache + tomcat