一、安装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个可设定的值。
- Indexes:此参数表示,如果在documentroot指定目录下找不到以index打头的文件,就将此目录下所有文件列出来,这很不安全,不建议使用这个参数
- FollowSymLinks:表示在DocumentRoot指定目录下允许符号链接到其他目录。
- ExecCGI:表示允许在documentroot指定的目录下执行cgi操作。
- Includes:允许SSI(Server-Side Includes)操作。
- 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访问,表示静态页面也可以正确解析。
本文详细介绍如何在Linux环境下安装并配置Apache与Tomcat,包括安装Apache、Tomcat及JDK,配置Apache与Tomcat的连接器mod_jk,以及整合两者的步骤,确保静态资源由Apache处理,动态请求转交Tomcat。
1万+

被折叠的 条评论
为什么被折叠?



