>  기사  >  백엔드 개발  >  apache2.2는 Proxy_ajp 메소드를 사용하여 tomcat6.0을 통합합니다.

apache2.2는 Proxy_ajp 메소드를 사용하여 tomcat6.0을 통합합니다.

WBOY
WBOY원래의
2016-08-08 09:29:561317검색

Apache2.2는 프록시를 사용합니다. ajp 메소드는 Tomcat6.0을 통합합니다

작은wolf@http://blog.csdn.net/xiaolangyangyang

구글에 이런 글이 꽤 있는데 그 중 일부는 완전하지도 않고 제게 맞지도 않아서 직접 작성하게 되었어요

이 글에서는 tomcat 연결을 위해 주로 httpd2.2의 porxy_ajp를 사용합니다

제 환경은 Centos5.2

최신 버전의 Apache를 다운로드하세요. 최신 버전은 httpd-2.2.10.tar입니다. .gz

최신 버전의 Tomcat을 다운로드하세요. 최신 버전은 apache-tomcat-6.0.18.tar.gz

jdk1.6

에서 최신 버전을 다운로드하세요. http://apr.apache.org apr-1.3.3 및 apr-util-1.3.4

1. 설치 시작

1. #4월 컴파일

#tar -zxvf 4월-1.3.3. tar.gz

#cd apr-1.3.3

#./구성--접두사=/usr/로컬/apr-httpd/

#make

#make install

2. #apr-util 컴파일

#타르 -zxvf 4월-util-1.3. 4.tar.gz#cd apr-util-1.3.4#./구성- -접두사=/usr/로컬/apr-util-httpd/--with-apr=/usr/로컬/apr-httpd/#make#make install

3. #编译httpd

#tar-zxvf httpd-2.2.10. tar.gz#cd httpd-2.2.10#./구성--접두사=/ usr/로컬/apache2/--with-4월=/usr/로컬/apr-httpd/--with-apr-util=/usr/local/ 4월-util-httpd/-- 활성화-그래서--활성화-모드-공유=가장- -활성화-다시 쓰기=공유--활성화-프록시=공유--활성화-프록시-ajp=공유-- 활성화-프록시-밸런서=공유- -활성화-맞춤법=공유#make#make install

启动:

#/usr/로컬 /apache2/bin/apachectl start

설치가 올바른지 테스트하려면 http://yourip/을 사용하여 Apache 기본 페이지를 정상적으로 표시합니다. !

4. tomcat 구성

1) #JDK1.6 설치

java.sun.com에서 jdk를 다운로드하여 직접 설치하세요

2) #환경변수 설정

vim /etc/profile 추가:

export JAVA_HOME=/usr/java/jdk
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

3) #Tomcat 설치

#tar-zxvf apache-tomcat-6.0. 18.tar.gz-C/usr/로컬/# mv/usr/local/apache- tomcat-6.0.18 tomcat

4) Tomcat을 시작하고 테스트합니다

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

5) 访问:http://yourip:8080/如果看到默认首页证明安装成功

二.整合apache和tomcat

我这里的apache的根目录和tomcat的根目录不在同一目录,当然了你完全可以放在同一目录下

我的apache的根目录在/www tomcat的根目录在/usr/local/tomcat/webapps

修改apache的httpd.conf

添加模块:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

打开Virtual hosts 即去掉Include conf/extra/httpd-vhosts.conf一行的注释

注释掉DocumentRoot和ServerAdmin

编辑httpd-vhosts.conf

添加:

<VirtualHost*:80>
    ServerAdmin jsjzhang@gmail.com
    DocumentRoot "/www/web"         #此虚拟主机的主目录为/www/web
   <Directory "/www/web">
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>

    ServerName www.terr.com         #只是测试,生产环境可以写为对应的域名
    ProxyPass /images !             #以下几行的意思是对/images,/sna  和/news/images几个目录的访问请求由apache处理其它都由tomcat处理.
    ProxyPass /sna !
    ProxyPass /news/images!
    ProxyPass / ajp://localhost:8009/

    ProxyPassReverse / ajp://localhost:8009/

    ErrorLog "logs/3.249-error_log"
    CustomLog "logs/3.249-access_log" common
</VirtualHost>
如何有多个虚拟主机可以再添加.例如:
<VirtualHost*:80>
    ServerAdmin jsjzhang@gmail.com
    DocumentRoot "/www/web2" 
   <Directory "/www/web2">
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>

    ServerName www.terr2.com            
    ProxyPass /images !             
    ProxyPass /sna !
    ProxyPass /news/images!
    ProxyPass / ajp://localhost:8009/

    ProxyPassReverse / ajp://localhost:8009/

    ErrorLog "logs/3.249-error_log"
    CustomLog "logs/3.249-access_log" common
</VirtualHost>

注: 生产环境下这些虚拟主机都是用域名访问的.因为他们都对应同一个IP。如何用IP访问一般打开的为最一个虚拟主机的主页。

把web这个网站放到tomcat的主目录/usr/local/tomcat/webapps下,其中images,sna和/news/images这三个目录放到/www/web下当然了我的apache还有其它用处所以没有和tomcat设为同一主目录为了简单你当然可以这么做,但一定要记得把apache中虚拟主机中的修改为和你tomcat一致的主目录,例如我这里应

该设为:

三.测试

现在启动tomcat启动apache在浏览器输入http://www.terr.com/web看看效果吧,因为是测试所以我在只在hosts里面对www.terr.com做了解析。

以上就介绍了apache2.2用proxy_ajp方式整合tomcat6.0,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.