免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1961 | 回复: 1
打印 上一主题 下一主题

[Web] Linux下apahe和tomcat的整合 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-18 08:08 |只看该作者 |倒序浏览
http://www.syitren.com/bbs/thread-3033-1-1.html
转载请注明!

Apache和Tomcat同是Apache基金会下面的两个项目。

一个是HTTP WEB服务器,另一个是servlet容器(servlet container)。在我们生产的环境中,往往需要Apache做前端服务器,Tomcat做后端服务器。此时我们就需要一个连接器,这个连接器的作用就是把所有Servlet/JSP的请求转给Tomcat来处理。在Apache2.2之前,一般有两个组件可选择:mod_jk和mod_jk2。后来 mod_jk2没更新了,转而更新mod_jk,所以现在一般都使用mod_jk做Apache和Tomcat的连接器。
不过,自从Apache2.2出来后,你又多了种选择,那就是proxy-ajp。大家知道Apache里的proxy模块,可以实现双向代理功能,功能非常强大。其实从连接器的实现原理上来说,用proxy模块来实现是非常自然的。proxy模块的功能无非就是把相关的请求发给特定的主机再返回结果。那连接器的功能需求就是要把所有对Servlet/JSP的请求都转给后台的Tomcat。

本文所用到的软件:
jdk-6u7-linux-i586-rpm.bin
mysql-5.0.67.tar.gz
apr-1.3.3.tar.gz
apr-util-1.3.4.tar.gz
httpd-2.2.9.tar.gz
apache-tomcat-6.0.14.tar.gz
php-5.2.6.tar.gz

1、JDK安装
# pwd
/usr/local
# chmod a+x jdk-6u7-linux-i586-rpm.bin
# ./jdk-6u7-linux-i586-rpm.bin
# ln -s /usr/java/jdk1.6.0_07 /usr/local/java
设置环境变量
# vi /etc/profile
末尾增加如下内容
JAVA_HOME=/usr/java/jdk1.6.0_07
CLASSPATH=/usr/java/jdk1.6.0_07/lib/dt.jar:/usr/java/jdk1.6.0_07/lib/tools.jar
PATH=/usr/java/jdk1.6.0_07/binPATH
export PATH JAVA_HOME CLASSPATH
# source /etc/profile
# bin/java –version  
查看java版本,如果是1.6的,就是说明安装成功了。

2、编译安装mysql
#useradd mysql mysql
#tar -zxvf mysql-5.0.67.tar.gz
#cd mysql-5.0.67
#./configure -prefix=/opt/mysql -with-charset=gbk -with-extra-charsets=all
#make
#make install
#cp support-files/my-medium.cnf /etc/my.cnf
#/opt/mysql/scripts/mysql_install_db --user=mysql  
//初试化表并且规定用mysql用户来访问。初始化表以后就开始给mysql和root用户设定访问权限
设置用户权限
#chown -R mysql.mysql /opt/mysql
#chown -R mysql.mysql /opt/mysql/var
启动mysql服务
#/opt/mysql/bin/mysqld_safe  --user=mysql  &
设置数据库管理员密码
#/opt/mysql/bin/mysqladmin  -u  root  password  ‘123456’
用新设置的密码登陆数据库验证一下
#/opt/mysql/bin/mydql  -u  root  -p
mysql>showdatabases;

3.安装apr
# tar -zxvf apr-1.3.3.tar.gz
# cd apr-1.3.3
# ./configure  --prefix=/usr/local/apr
# make
# make install
# tar -zxvf apr-util-1.3.4.tar.gz
# cd apr-util-1.3.4
# ./configure  --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make
# make install

4、安装Apache。
# tar xzvf httpd-2.2.9.tar.gz
# cd httpd-2.2.9
#./configure --prefix=/usr/local/apache
--enable-so --enable-rewrite --enable-proxy
--enable-proxy-ajp --enable-proxy-balancer  
# make
# make install
# /usr/local/apache/bin/apachectl start    //启动APACHE
#/usr/local/apache/bin/httpd -l
看看是否有proxy-ajp这个模块
如果有这个模块证明proxy-ajp模块安装成功,可以进行与tomcat的结合了。

5、安装php
#tar zxvf php-5.2.6.tar.gz
#cd php-5.2.6
#./configure --prefix=/opt/php --with-apxs2=/opt/www/bin/apxs \
--with-mysql=/opt/mysql --with-config-file-path=/opt/php
#make
#make install
#cp php.ini-dist /opt/php/php.ini
编辑apache的主配置文件,增加对PHP的支持
添加一行  AddType application/x-httpd-php .php
重启apache服务
#/opt/www/bin/apachectl  restart
新建php测试网页,vi /opt/www/htdocs/test/test.php
然后在浏览器中测试一下
http://IP/test.php

6、安装Tomcat。
# cp apache-tomcat-6.0.14.tar.gz /usr/local/
# cd /usr/local/
# tar xzvf apache-tomcat-6.0.14.tar.gz
# ln -s apache-tomcat-6.0.14 tomcat
#vi /usr/local/tomcat/bin/catalina.sh
加入一行:
JAVA_HOME=/usr/java/jdk1.6.0_07
# /usr/local/tomcat/bin/startup.sh
启动服务后访问本地的8080端口可以看到对应apache tomcat页面了

7、Tomcat 与Apache 的整合
在apache中启用虚拟主机(需要dns的支持)
#vi /opt/www/conf/httpd.conf
去掉Include conf/extra/httpd-vhosts.conf前面的#号
#vi /opt/www/conf/extra/httpd-vhosts.conf
  添加
  <VirtualHost 192.168.1.100:80>
     DocumentRoot "/opt/www/htdocs/aaa"
     ServerName www.syitren.com
     ProxyPass / ajp://127.0.0.1:8009/
     ProxyPassReverse / ajp://127.0.0.1:8009/
  </VirtualHost>
  <VirtualHost 192.168.1.100:80>
     DocumentRoot "/opt/www/htdocs/bbb"
     ServerName bbs.syitren.com
  </VirtualHost>
tomcat虚拟主机
# vi /usr/local/tomcat/conf/server.xml
server.xml中这么加:
第一种方法此方法也适合windows下用)
<Host name="www.syitren.com" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false"  xmlNamespaceAware="false">
     <Alias>mail.aaa.com</Alias> 要注意就是这。这是别名的.
     <Context path="" docBase="/usr/local/apache/htdocs/" debug="0" reloadable="true" crossC/>
     <Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="www_5sai_log." suffix=".txt"
timestamp="true"/>
      </Host>
第二种方法:
<Host name="www.syitren.com" debug="0" appBase="/usr/local/tomcat/gc/" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="."/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"  prefix="test_5sai_access_log."
suffix=".txt" pattern="common" resolveHosts="false"/>
<Logger className="org.apache.catalina.logger.FileLogger" directory="logs"  prefix="test_5sai_log." suffix=".txt" timestamp="true"/>
</Host>

然后把PHP程序放在/opt/www/htdocs/bbb/中,把JSP程序放在/opt/www/htdocs/aaa/中,分别测试一下。



linux tomcat开机自启动
vi /etc/rc.d/rc.local
在里面加入如下代码:
export JDK_HOME=/usr/java/jdk1.6.0_07
export JAVA_HOME=/usr/java/jdk1.6.0_07
/usr/local/tomcat/bin/startup.sh

论坛徽章:
0
2 [报告]
发表于 2009-05-18 09:43 |只看该作者
用JSVC作为系统服务来启动
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP