您的位置:首页 > 运维架构 > Tomcat

Apache 和tomcat 的环境搭建 (修正版)

2015-09-14 12:41 561 查看
写在前面的话 之前的版本有很多地方的错误 现在终于弄好了 把这个坑填上吧

注 tomcat下有个wrapper的文档 这个文档也是下面的文件路径指向的地方 这个文档的作用就是将web项目正式的部署到服务器上的路径 我记得在测试的时候 如果不是这个目录下的web项目是不可以启动的 所以为了简洁 所有项目都部署到该目录下 当然为了减少对tomcat的渗透 最好的办法就是重新新建一个目录然后在将路径指向该文件 至于我为什么不做 因为懒啊

==========

首先确认下版本 tomcat7 apache2.4

因为apache2.4和apache2.2有不小的改变 所以网上很多东西 你丫的写博客说一半玩蛋呢!—–依旧是废话的小尾巴

apache主要修改的就是这个文件C:\Apache24\conf\httpd.conf 因为我自己做环境的时候用了ssl加密的设置 所以某些端口可能不一样 自己注意

DocumentRoot "C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\webapps"
//首先是这个项   这里的作用是将你放置在该目录的项目生效成web项目

<Directory "C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\webapps">//这里的配置文件主要是配
//置项目的请求权防止出现403的请求错误  如果配置错误 也会出现
//404错误 同时要注意这里的配置必须和下面tomcat的解析目录一致!
// 这个最重要 否则会出现apache地址无法解析jsp页面的错误

//同时这里有一个小bug

Options FollowSymLinks
AllowOverride None
Order deny,allow
deny from all
//上述四个选项是2.2 版本的 2.4版本发生了下面的变化

//Order allow,deny Allow from all 被整合成Require all granted

//所以修改成
Options Indexes FollowSymLinks//我还是忘了 去查百度
AllowOverride all//忘记了 去查百度吧 其实修改的是这里 以前默认的是none
Require all granted//所有的请求都可以访问

//这里还有安全的配置 用#注释掉Options FollowSymLinks indexes就好了 如果找不到 可能是版本的原因  反正我没管

//现在是关键的配置

LoadModule jk_module modules/mod_jk.so//载入模块

JKWorkersFile conf/workers.properties//载入模块式的配置文件

JkLogFile logs/mod_jk.log//日志输出

//上述的很简单 主要是下面的

//这里创建了一个虚拟的host 或许可能不理解啥意思  我的理解就
//是创建了一个tomcat的虚拟主机 地址就是当前机子的IP和端口
// 这里说明一下我的没有改IP和端口 都是默认的地址 80 8080
// 8009  这些没有改动过 自己注意下自己的端口

<VirtualHost *>

ServerName  localhost

DocumentRoot  "C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\webapps"//这个和上面那
//个DocumentRoot  要一致 否则会有各种奇怪的羞羞的小bug出现

DirectoryIndex index.html index.htm index.jsp index.action//这里有点小问题 其实我也不是很懂 反正是这么设
//置的 有问题以后再说吧

//  很多情况下,URL中并没有指定文档的名字,而只是给出了一个
//目录名(不一定是根目录,有可能是栏目的目录)。那么Apache服
//务器就自动返回这个目录下由DirectoryIndex定义的文件,当然
//可以指定多个文件名字,系统会这个目录下顺序搜索。当所有由
//DirectoryIndex指定的文件都不存在时,Apache服务器可以根据
//系统设置,生成这个目录下的所有文件列表,提供用户选择。此时该
//目录的访问控制选项中的Indexes选项(Options Indexes )必
//须打开,以使得服务器能够生成目录列表,否则Apache将拒绝访问。

//注意的一点是,Apache的配置选项DirectoryIndex不止针对根目
//录,也针对二级目录,就是说如果URL是一个网站下面的一个目录,
//但没有指定是访问这个网站的哪个文件时,Apache服务器也会按照
//DirectoryIndex指定的顺序搜索,打开存在的页面。

//#下面的一行是有关虚拟主机默认起始页配置的,各起始页之间以空
//格分隔,建议指定,否则采用全局设置

//DirectoryIndex index.html index.htm index.php

//注意的是,DirectoryIndex不止针对主服务器做全局配置,也可
//以对某个虚拟主机单独配置,使用的语法一样。

ErrorLog logs/shsc-error_log.txt

CustomLog logs/shsc-access_log.txt common

JkMount /*WEB-INF tomcat//注意这里的tomcat要和works.properties中的worklist名字一样一致 其实都是自定义的
//名字但是要一致 否则各种小bug等着你哦

JkMount /*j_spring_security_check tomcat

JkMount /*.action tomcat

JkMount /servlet/* tomcat

JkMount /*.jsp tomcat

JkMount /*.do tomcat

JkMount /*.action tomcat

</VirtualHost>

//其实这里也可以再vhost文件中设置 同时解除这个文件vhost
//model的注释 但是我觉得那个步骤很烦人 同样的你也可以把那些
//交给tomcat解析的配置单独作成一个配置文件然后在httpd.conf
//中加载 就是include那个命令 具体的百度吧

//这个works.properties的配置 这个是新建的文件

workers.tomcat_home=C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0  //注释tomcat的位置
workers.java_home=C:\Program Files (x86)\Java\jre7

ps=/  //文档隔开符 没有打错 就是这个!

worker.list=tomcat  //自定义 记得和httpd.conf中的tomcat一致
worker.tomcat.type=ajp13  //ajp13 是个协议
worker.tomcat.host=localhost
worker.tomcat.port=8009  //监听的端口
worker.tomcat.socket_keepalive=1   //忘记了
worker.tomcat.socket_timeout=300   //多少秒之后断开
worker.tomcat.lbfactor=1 //负载平衡级别

//同时在tomcat的server.xml中添入下列语句
//指向apache 如果不加这一句
//就会解析tomcat的root下的默认目录 但是apache不解析动态数据
//所以只会是一些数字字母而没有图片

<Context docBase="C:\Apache24\htdocs" crossContext="true" path="" reloadable="true" />

//其实后面3个配置感觉没多大用 如果只是很小的量来测试的话

//然后就是测试了 首先在localhost下访问apache 和8080端口的
//指向是一致的 然后就是在localhost/testfile/index.jsp能
//够成功访问就是成功了 当然这个也是自己创建的测试页面

//因为有ssl协议 我在host下稍微修改了下地址  就是

本机IP  www.ccav.com

--------------

附录

//修改tomcat默认启动的工程,我们知道,tomcat默认输入
//http://localhost:8080/会进入到默认的tomcat欢迎页面,也就是存放在
//$tomcat/webapps/ROOT,想改变默认工程路径,就要修改
//$tomcat/conf/server.xml文件

//1、直接将web工程放在tomcat的webapps文件夹下面,前提是你的工程里面都是已经编译好的,例如自己的工程的文件夹为myapp;

//2、在config文件夹下修改server.xml,在里面的<host ...>....</host>元素中添加

<Context path="" debug="0" docBase="myapp" reloadable="true"/>

//3,重新启动tomcat,输入http://localhost:8080/ 就会进入到myapp的工程路径下!

//更改端口:若想外网通过地址就能访问,则在80端口开放的同事,将port改成80

<Connector port="8080" maxThreads="150" minSpareThreads="25"

maxSpareThreads="75" enableLookups="false" redirectPort="8443"

acceptCount="100" debug="0" connectionTimeout="20000"

disableUploadTimeout="true" />

//当然也可以这么做

//创建此文件:
${CATALINA_BASE}/conf/catalina/localhost/ROOT.xml
ROOT.xml
{code="xml"}
<Context docBase="your_webapp_path" />
{code}

CATALINA_BASE 就是tomcat的安装路径  具体的修改看前篇
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: