zoukankan      html  css  js  c++  java
  • [WebServer] Windows下Apache与Tomcat的整合

    转自:http://bbs.blueidea.com/thread-2873268-1-1.html

    准备工作:
    1、 Apache 2.2.4
    下载地址:http://cztele1.skycn.com/down/apache_2.2.4-win32-x86-no_ssl.zip

    2、 Tomcat 6.0.16
    下载地址:http://apache.mirror.phpchina.co ... e-tomcat-6.0.16.zip

    3、 JDK
    下载地址:http://cds.sun.com/is-bin/INTERS ... -windows-i586-p.exe
    如果只是应用的话,也可以选择安装JRE,因为JRE比较小:)

    4 JK-1.2.26-httpd-2.2.4
    下载地址:http://www.apache.org/dist/tomca ... 2.26-httpd-2.2.4.so
    注 意JK的版本一定要与Apache版本相同。如果你的版本与我的不同,可以去官网下载,有多种版本,适用于各种操作系统,下载适用的既可,地 址:http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/

    开始安装:
    软件的安装顺序可以适当调整,但是JDK(JRE)一定要在Tomcat之前安装:

    1、安装JDK(JRE)
    此处默认、自定义安装均可。安装完成以后按下面的示例设置你的系统环境变量:我的电脑 -> 属性 -> 高级 -> 环境变量 (这里要添加的是系统变量,非用户变量)
    JAVA_HOME = D:Program FilesJavajdk1.6.0_07
    CLASSPATH = .;%Java_Home%lib ools.jar;%Java_Home%libdt.jar;
    PATH = %Java_Home%in;%PATH%
    注意JAVA_HOME的路径改为你的实际安装路径。其它两个不变。

    2、安装Apache
    此 处注意,如果你本机已经装了IIS并且占用了80端口,你可以选择禁用IIS或者给IIS指定其它端口,或者给Apache指定其它端口,根据实际情况进 行设置。在Apache的安装过程中要设置Network Domain和Server Name为Localhost,设置你的Email地址(这个一定要设置,不然Apache启动不起来)。
    安装完成之后,如果apache用的是 80端口,那么在浏览器中输入 http://localhost ,如果使用的是其它端口例如81,则输入 http://localhost:81 ,将会看到 Apache 的成功页面。此时Apache已经运行,在系统托盘可以看到它的图标,双击打开可以对Apache服务进行控制,我们下面还要安装Tomcat和JK,所 以现在选择 Stop 停止 Apache 服务。

    3、安装Tomcat
    将Tomcat解压到 D:Program FilesTomcat 下,设置环境变量:
    CATALINA_BASE = D:Program Files omcat
    CATALINA_HOME = D:Program Files omcat
    CLASSPATH = %CATALINA_HOME%libservlet-api.jar
    运行 D:Program FilesTomcatinstartup.bat 启动Tomcat,出现Tomcat页面则表示安装成功。

    4、安装JK
    把 mod_jk-1.2.26-httpd-2.2.4.so 拷贝到 D:Program FilesApache2.2modules 下。

    下面进行服务器的配置:
    1、配置Tomcat
    查找Tomcat目录下的 conf/server.xml文件,在<host></host>中间加入以下语句以修改其默认的目录:
    <Context path="" docBase="E:wwwroot" reloadable="true" crossContext="true"/>
    在这里,如果 path 不为空,则设置的是虚拟目录,path 的值为虚拟目录名。

    查找Tomcat目录下的 conf/workers.properties文件,并对比下方文本内容,如有不同处,以下方文本为准进行修改。
    workers.tomcat_home=C:apache-tomcat-6.0.18 #让mod_jk模块知道Tomcat的位置
    workers.java_home=D:Program FilesJavajre1.6.0_07 #让mod_jk模块知道jre的位置
    ps=
    worker.list=ajp13 #模块版本
    worker.ajp13.port=8009 #工作端口,若没占用则不用修改
    worker.ajp13.host=localhost #本机,若上面的Apache主机不为localhost,作相应修改
    worker.ajp13.type=ajp13 #类型
    worker.ajp13.lbfactor=1 #代理数,不用修改

    如果此文件不存在,则依以上内容创建。对Tomcat的设置进行任何修改后都要重启才可以生效。

    2、配置Apache
    打开D:Program FilesApache2.2conf下的httpd.conf,在最后加入下面这段代码并保存。
    LoadModule jk_module modulesmod_jk-1.2.26-httpd-2.2.4.so
    #此处mod_jk的文件为你下载的文件
    JkWorkersFile "D:Program FilesTomcatconfworkers.properties"
    #指定tomcat监听配置文件地址
    JkLogFile "D:Program FilesTomcatlogsmod_jk2.log"
    #指定日志存放位置
    JkLogLevel info

    #设置虚拟主机
    <VirtualHost localhost>
    #如果非虚拟主机,将<VirtualHost localhost>和最后的</VirtualHost>注释或者删除掉即可
    ServerAdmin localhost
    DocumentRoot E:/wwwroot
    <Directory "E:/wwwroot">
    #您的站点项目所在路径,应与tomcat中的目录设置相同,据说以上两个必须同时设置才可以生效,没有试过不同的时候会有什么情况
    ServerName localhost
    DirectoryIndex index.html index.htm index.jsp
    ErrorLog logs/shsc-error_log.txt
    CustomLog logs/shsc-access_log.txt common
    JkMount /servlet/* ajp13
    #让Apache支持对servlet传送,用以Tomcat解析
    JkMount /*.jsp ajp13
    #让Apache支持对jsp传送,用以Tomcat解析
    JkMount /*.do ajp13
    #让Apache支持对.do传送,用以Tomcat解析
    </VirtualHost>

    # 开头的行为注释,可以删除。此处的配置我是以设置虚拟目录,重新指定了serverName,DocumentRoot路径的方式配置站点,实际 上,Apache的配置可以非常灵活,你也可以不采用虚拟目录的方式,而直接去修改站点的默认配置,使用任意文本编辑工具,搜索如 ServerName,DocumentRoot,ServerAdmin等相关项,然后将该项的配置根据你的实际情况进行修改即可。我建议大家可以多多 尝试不同的配置,这是一种很有乐趣的体验。
    所有的修改完成以后,双击系统托盘中的Apache图标,然后点击Start启动Apache服务。
    在地址栏中分别输入http://localhost/,与http://localhost:8080/若结果相同,Apache与Tomcat整合成功

    安装常见问题:
    1.一启动Apache出现“windows不能在本地计算机启动Apache2”错误
    多数情况是端口的问题,可能有其他软件占用了80端口,最好把Apache的端口改成81端口就可以了

    2.windows下查看80端口占用情况,适用于查看任何端口
    开 始–运行–cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选”查看”-”选择列”,经常,我们在启动应用的时 候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法,希望对大家有用。

    我们需要确定谁占用了我们的80端口
    在windows命令行窗口下执行:C:>netstat -aon|findstr “80″
    看到了吗,端口被进程号为2044的进程占用,继续执行下面命令:
    C:>tasklist|findstr “2044″
    avp.exe                     2044 Console                 0     37,680 K
    很清楚吧,avp 卡巴监听80端口,调整卡巴网络监听设置。
    当然,如果你的80端口被其他程序占用,kill掉或者调整端口。
    四 完!

  • 相关阅读:
    Java操作excel,读取及导出
    vue 在package.json配置对外暴露访问地址(手机端访问本地项目地址)
    element UI upload组件上传附件格式限制
    linux之vim/vi快速复制多行内容的快捷键
    使用vant的Toast组件时提示not defined
    如何使用js判断当前页面是pc还是移动端打开的
    JavaScript 保留两位小数函数
    Linux其他命令
    linux学习ls的三个选项 lha的作用和隐藏文件的知识
    vue+ element-ui el-table组件自定义合计(summary-method)坑
  • 原文地址:https://www.cnblogs.com/jqmtony/p/4207037.html
Copyright © 2011-2022 走看看