Apache服务器(4)-tomcat

本文详细介绍如何在Linux环境下安装并配置Apache与Tomcat,包括安装Apache、Tomcat及JDK,配置Apache与Tomcat的连接器mod_jk,以及整合两者的步骤,确保静态资源由Apache处理,动态请求转交Tomcat。

 

一、安装APACHE

 

二、安装tomcat

下载tomcat.XXX.tar.gz解压到/usr/local即完成安装。

Tar  -zxvf  apache-tomcat-7.0.62.tar.gz

三、安装JDK

下载jdk.xxx.tar.gz到/usr/local,然后解压

   Tar -zxvf  jdk-7u80-linux-x64.tar.gz  

运行下面的命令检查jdk是否正常运行,将返回jdk版本。

#/jdk1.7.80/bin/java  -version   

 

四、安装apache和tomcat的连接器

连接器有mod_jk,http-proxy,proxy-ajp等apache扩展模块可供选择,

http_proxy是通过打开tomcat的http功能,然后用apache的proxy代理功能将动态请求交给Tomcat处理,而静态数据交给Apache自身就可以了。

下面将重点讲述mod_jk作为连接器的安装、配置与实现。

到这个页面http://tomcat.apache.org/download-connectors.cgi 下载Tomcat-conncctors-1.2.x-src.tar.gz  解压

Yum  install  libtool   autoconf

#cd tomcat-connectors-1.2.3-src/native

#chmod 755 buildconf.sh

#./buildconf.sh

#./configure --with-apxs=/usr/local/apache2/bin/apxs  这里指定的是apache安装目录中apxs的位置

#make

#make install

可以看到有mod_jk.so文件生成,这就是我们需要的JK连接器。默认情况下,JK模块会自动安装到/usr/local/apache2/modules目录下,如果没有自动安装到此目录,手动复制此文件到modules目录即可。

 

五、APACHE和TOMCAT的整合

1、配置apache

(1)

   LoadModule   access_module  modules/mod_access.so

   loadModule   auth_module   moodules/mod_auth.so

   LoadModule   jk_module   modules/mod_jk.so

   加载mod_jk模块,上面已经生成了JK模块,并且放到了modules目录下,这是只须指定JK模块的路径加载即可。

(2)

<Directory  “/usr./local/httpd/htdocs”>

     Options  Indexs  FollowSymLinks

     AllowOverride  None

     Order  allow,deny

     Allow  from  all

    Options  表示在这个目录内能执行的操作,主要有5个可设定的值。

  1. Indexes:此参数表示,如果在documentroot指定目录下找不到以index打头的文件,就将此目录下所有文件列出来,这很不安全,不建议使用这个参数
  2. FollowSymLinks:表示在DocumentRoot指定目录下允许符号链接到其他目录。
  3. ExecCGI:表示允许在documentroot指定的目录下执行cgi操作。
  4. Includes:允许SSI(Server-Side  Includes)操作。
  5. MultimateViews:不常用,根据语言的不同显示不同的信息提示。

        AllowOverride 通过设定的值决定是否读取目录中的.htaccess文件,来改变原来所设置的权限,其实完全可以在httpd.conf中设置所有的权限。但是,这样对Apache使用者的其他用户,如果要修改一些权限,就比较麻烦了。因此Apache预设可以让用户以自己目录下的.htaccess文件复写权限,常用的选项有两个。

       All:表示可以读取.htaccess文件的内容,修改原来的访问权限。

       None:表示不读取.htaccess文件,权限统一控制。

       Order用来控制目录和文件的访问授权,常用的组合有两个。

       Deny,Allow:表示先检查进制的设定,没有禁止的全部允许。

       Allow,Deny:表示先检查允许的设定,没有允许的全部禁止。

2、配置TOMCAT

(1)server.xml的配置

Server.xml是Tomcat的核心配置文件。为了支持与Apache的整合,在Tomcat中也需要配置虚拟主机。找到默认的<Host>标签,在此标签结尾,也就是</Host>后面增加如下虚拟主机配置。

   <Host  name=”192.168.60.198”  debug=”0”  appBase=”/webdata/www”  unpackWARs=”true” >

      <Context  path=””  docBase=””   debug=”1”>

  </Host>

其中,

      Name:指定虚拟主机名字,为了演示方便,这里用IP代替。

      Debug:指定日志输入级别

      appBase:存放Web应用程序的基本目录,可以是绝对路径或相对于$CATALINA_HOME的目录,默认是$CATALINA_HOME/webapps

      unpackWARS:如果为true,则Tomcat会自动将WAR文件解压后运行

      autoDeploy:如果为true,表示Tomcal启动时会自动发布appBase目录下所有的Web应用(包括新加入的web应用)

      Path:表示此web应用程序的URL入口,如为”/jsp”,则请求的URL为http://localhost/jsp

      docBase:指定此web应用的绝对或相对路径,也可以为WAR文件的路径

      <connector  port=”8080”>   //这是Tomcat对http访问协议的设定,http默认的监听端口为8080,在apache和tomcal整合的配置中,是不需要开启tomcat的http监听的端口。为了安全起见,建议注释掉此标签,关闭http默认的监听端口。

      <connector  port=”8009”  enableLookups=”false”  redirectPort=”8443”  protocol=”AJP/1.3”>

       上面这段是Tomcat对AJP13协议的设定。AJP13协议默认的监听端口为8009,整合apache和tomcat时必须启用该协议,JK模块就是通过AJP协议实现Apache和tomcal协调工作的。

(2)配置tomcat启动脚本

Tomcat在启动的时候会去查找JDK的安装路径,因此,需要配置系统环境变量。这里详细讲述Linux下环境变量的设定

/etc/profile:配置系统的全局环境变量,系统中所哟应用都可以使用这个环境变量。

~/.bash_profile:用户环境变量,每个用户可以通过配置这个环境变量文件而设定不同的环境变量

针对Java环境变量的设置,可以在/etc/profile中指定JAVA_HOME,也可以在启动tomcat的用户环境变量.bash_profile中果汁鼎JAVA_HOME,这里在catalina.sh脚本中指定JAVA环境变量,编辑catalina.sh文件,添加如下内容

JAVA_HOME=/usr/local/jdk1.7.0_80

Export  JAVA_HOME

3、创建Tomcat worker

     Tomcat worker是一个服务于Web服务器、等待执行Servlet/JSP的Tomcat实例。创建Tomcat worker需要增加3个配置文件,分别是tomcat worker配置文件workers.properties、URL映射文件uriworkermap.properties和JK模块日志输出文件mod_jk.log,mod_jk.log文件会在apache启动时自动创建,这里只需创建前两个文件即可。

①Tomcat  worker配置文件

   定义tomcat  worker的方法是在Apache的conf目录下编写一个名为workers.proerties的属性文件,使其作为Apache的插件来发挥作用。

Vi  /usr/local/apache2/conf/workers.properties

   Worker.list=tomcat1

Worker.tomcat1.port=8009   //tomcat worker主机监听的端口。默认情况下tomcat在AJPI3协议中使用的端口为8009

Worker.tomcat1.host=localhost   //监听AJPI3请求的tomcatl worker 主机地址。

Worker.tomcat1.type=ajpl3  //定义worker类型(AJPI2,/AJPI3/JNI)

Worker.tomcat1.lbfactor=1    //当tomcat用作负载均衡时,使用此属性,表示此tomcat worker节点的负载均衡权值。

②URL过滤规则文件 uriworkermap.properties

uriworkermap.properties也就是URL映射文件,用来指定哪些URL由Tomcat处理,也可以直接在httpd.conf中配置这些URL,但是独立配置这些URL的好处是JK模块会定期更新该文件的内容,使得修改配置的时候无需重新启动Apache服务器。

Vim /usr/local/httpd/conf/uriworkermap.properties

/*=tomcatl

!/*.jpg=tomcat1

!/*.gif=tomcat1

!/*.png=tomcat1

!/*.bmp=tomcat1

!/*.html=tomcat1

!/*.htm=tomcat1

!/*.swf=tomcat1

!/*.css=tomcat1

!/*.js=tomcat1

在上面的配置文件中,“/*=tomcat1”表示将所有的请求都交给tomcat1来处理,而这个tomcat1就是在workers.properties文件中由work.list指定的,这里的“/”是个相对路径,表示存放网页的根目录,这里是上面假定的/webdata/www目录

!/*.jpg=tomcat1 则表示在根目录下,以”.jpg”结尾的文件都不由JK进行处理,其它设置含义类似,也就是让Apache处理图片、js文件、css文件以及静态html网页文件。

特别注意,这类有个先后顺序的问题,JK模块在处理网页根目录文件的时候,会首先过滤掉不让自己处理的设定,剩下的设定自己全部处理。

4、测试Apache与Tomcat整合

   将/usr/local/tomcat.7.0.62/webapps/ROOT目录下的文件复制到/webdata/www下,启动tomcat与Apache服务

/usr/local/tomcat.7.0.62/bin/startup.sh

/usr/local/httpd/bin/apachectl start  

在浏览器输入http://192.168.0.10,如果能访问到tomcatl默认的JSP页面,表示Tomcat解析成功。

在网站根目录创建一个test.html的静态页面,通过http://192.168.0.10/test.html访问,表示静态页面也可以正确解析。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值