apache + tomcat

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

       web server

一. 安装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, 显示:

   show jsp

   注: 之前测试过程中一直显示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 测试, 一切正常

     

猜你喜欢

转载自tcspecial.iteye.com/blog/2074266