我爱小虾 发表于 2018-11-25 07:45:29

Linux下apache与tomcat完美整合笔记

  最近由于公司系统迁移,老大要求apache负责处理静态页面,动态页面由tomcat处理,网上看了下资料,立即开工,具体的安装过程中也遇见了几个问题,现记录下安装过程:
  系统及软件环境如下:
  red hat enterprise linux 5.8
  httpd.2.2.3.tar.gz ; jdk-6u37-linux-i586.bin ;apache-tomcat-6.0.36.tar.gz ;
  tomcat-connectors-1.2.37-src.tar.gz
  
  1、apache安装
  
  tar -zxvf httpd.2.2.3.tar.gz
  
  cd httpd.2.2.3
  
  ./configure --prefix=/usr/local/apache2 \
  
  --enable-modules=most \
  
  --enable-mods-shared=all \
  
  --enable-so \
  
  make
  make install
  
  2、jdk安装
  
  chmod 777 jdk-6u37-linux-i586.bin   #赋予安装包的执行权限
  ./jdk-6u37-linux-i586.bin
   mv jdk1.6.0_37 /usr/local/java               #修改下文件夹名称
  3、安装tomcat
   tar -zxvf apache-tomcat-6.0.36.tar.gz
  mv apache-tomcat-6.0.36 /usr/local/tomcat
  
  4、tomcat和java的连接
  Tomcat的bin目录主要存放各种平台下启动和关闭tomcat的脚本文件,在linux下主要有catalina.sh、startup.sh和shutdown.sh3个脚本,而startup.sh和shutdown.sh其实都用不同的参数调用了catalina.sh脚本。
Tomcat在启动的时候会去查找jdk的安装路径,因此,我们需要配置系统环境变量,这里详细讲述下linux下环境变量的设定。
/etc/profile:是配置系统全局环境变量,系统中所有应用都可以使用这个环境变量。
~/.bash_profile:是用户环境变量,每个用户可以通过配置这个文件而设定不同的环境变量。
针对java环境变量的设置,可以在/etc/profile中指定JAVA_HOME,也可以在启动tomcat的用户环境变量.bash_profile中指定JAVA_HOME,这里我们在catalina.sh脚本中指定java环境变量,编辑catalina.sh文件,添加如下内容:
#OS specific support.$var _must_ be set to either true orfalse.
JAVA_HOME=/usr/local/java
exportJAVA_HOME
cygwin=false
os400=false
上面加粗部分是新加内容,其它为catalina.sh文件原有内容。通过JAVA_HOME指定了JDK的安装路径,然后通过export设置生效。
  另一方法首先我们添加环境变量
  vi /etc/profile
  export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
export TOMCAT_HOME=/usr/local/tomcat
export CATALINA_HOME=/usr/local/tomcat
export CLASSPATH=$CLASSPATH:$CATALINA_HOME/lib
  安装tomcat-connectors
  tar xzvf tomcat-connectors-1.2.37-src .tar.gz
cd tomcat-connectors-1.2.37-src/native
chmod755 buildconf.sh
./buildconf.sh
./configure \ --with-apxs=/usr/local/apache2/bin/apxs #这里指定的是apache安装目录中apxs的位置
make
make install
ll /usr/local/apache2/modules/mod_jk.so可以看到有mod_jk.so文件生成,这就是我们需要的JK连接器,默认情况下JK模块会自动安装到/usr/local/apache2/modules目录下,如果没有自动安装到此目录,手动拷贝此文件到modules目录即可。
  5、apache与tomcat整合
  #vi/usr/local/apache2/conf/workers.properties
worker.list=tomcat1
worker.tomcat1.port=8009
worker.tomcat1.host=localhost
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=1
  #vi   /usr/local/apache2/conf/uriworkermap.properties
/*=tomcat1
  !/*.jpg=tomcat1
!/*.gif=tomcat1
!/*.png=tomcat1
!/*.bmp=tomcat1
!/*.html=tomcat1
!/*.htm=tomcat1
!/*.swf=tomcat1
!/*.css=tomcat1
!/*.js= tomcat1
  编辑http.conf在最底行加入以下代码
  LoadModule jk_module modules/mod_jk.so

  JkWorkersFile /usr/local/apache2/conf/workers.properties
JkMountFile    /usr/local/apache2/conf/uriworkermap.properties
JkLogFile/usr/local/apache2/logs/mod_jk.log
JkLogLevel info
JkLogStampformat "[%a%b %d %H:%M:%S %Y]"
  下面开始建虚拟主机
  NameVirtualHost*
表示启用虚拟主机,如果开启虚拟主机,上面DocumentRoot指令指定的配置将失效,以虚拟主机中指定的DocumentRoot为主。

    ServerAdmin webmaster@ixdba.net
    DocumentRoot/webdata/www
    ServerName 192.168.60.198
    ErrorLoglogs/error_log
    CustomLog logs/access_log common
JkMountFile   conf/uriworkermap.properties




页: [1]
查看完整版本: Linux下apache与tomcat完美整合笔记