anysoft - by - 02 十二月, 2008 12:40

整合Apache2+Resin

环境:假定在系统已经安装好apache

一、准备软件

jdk-1_5_0_12-linux-i586.bin (http://java.sun.com)

resin-pro-3.1.3.tar.gz (http://www.caucho.com)


二、安装配置J2SDK

1. 安装JDK

shell> cd /opt

shell> chmod 755 /home/software/jdk-1_5_0_12-linux-i586.bin

shell> /home/software/jdk-1_5_0_12-linux-i586.bin

shell> ln –s /home/software/jdk-1_5_0_12-linux-i586 /usr/local/jdk

2. 配置系统环境变量

shell> vi /etc/profile

末尾处加入:

export JAVA_HOME=/usr/local/jdk

export RESIN_HOME=/usr/local/resinresin未安装,接下来安装resin

export LASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools/jar:$JAVA_HOME/lib/htmlconverter.jar:$JAVA_HOME/jre/lib:$RESIN_HOME/lib

export JRE=$JAVA_HOME/jre

export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

使/etc/profile的修改起作用

shell> source /etc/profile

3. 确认J2SDK环境

shell> java -version

java version "1.5.0_12"

Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_12-b04)

Java HotSpot(TM) Server VM (build 1.5.0_12-b04, mixed mode)

如果看到关于JAVA的版本信息则说明安装正确。

三、安装Resin

Resin是一个绿色软件,不用编译即可使用,但是没有经过编译的resin,并不能很好的工作。因此为了让resin能更好的工作,最好经过编译才能让resin体现性能。

展开resin压缩包

shell> tar zxvf /home/software/resin-pro-3.1.3.tar.gz

shell> ln –s resin-pro-3.1.3 /usr/local/resin

运行resin配置文件

shell> cd /usr/local/resin

shell> ./configure --with-java-home=/usr/local/jdk --with-apxs=/usr/local/httpd/bin/apxs --with-apache=/usr/local/httpd

编译安装

shell> make

shell> make install

安装时Resin会自动将模块加载到Apache里,并且对httpd.conf进行修改!

四、配置

1、测试apache+resin组合

A)配置Apache

修改配置文件之前备份,以便出现异常时,能用源文件再一次的修改

shell> cp /usr/local/httpd/conf/httpd.conf /usr/local/httpd/conf/httpd.conf.source

修改配置文件httpd.conf

shell> vi /usr/local/httpd/conf/httpd.conf

以下指令在安装resin的时候已经自动添加到/usr/local/httpd/conf/httpd.conf

表示apache调用resin的集群的中件间mod_caucho.so

LoadModule caucho_module /usr/local/apache/modules/mod_caucho.so

同时把jspservlet的除HTML的请求都发到6800端口

ResinConfigServer localhost 6800

CauchoConfigCacheDirectory /tmp

CauchoStatus yes

以下指令是需要我们修改和添加的

找到#ServerName www.example.com:80在下面的一行添加需要解析的域名

ServerName www.site.com:80

找到

<IfModule dir_module>

DirectoryIndex index.html

</IfModule>

DirectoryIndex指令后面添加index.jsp使之支持jsp文件

<IfModule dir_module>

DirectoryIndex index.html index.jsp

</IfModule>

用网址http://localhost/caucho-status查看resin的状态

CauchoStatus yes

<IfModule mod_caucho.c>

<Location /caucho-status>

SetHandler caucho-status

</Location>

</IfModule>

配置在servlet目录下的所有文件都让resin去解析,在http.conf最后添加

AddHandler caucho-request jsp

<Location /servlet/*>

SetHandler caucho-request

</Location>

为了安全起见,需要禁止访问WEB-INF目录,在http.conf最后添加:

<LocationMatch "/WEB-INF">

AllowOverride None

deny from all

</LocationMatch>

B)配置/usr/local/resin/conf/resin.conf文件

修改配置文件之前备份,以便出现异常时,能用源文件再一次的修改

shell> cp /usr/local/resin/conf/resin.conf /usr/local/resin/conf/resin.conf.source

接下来是对resin.conf修改

shell> vi /usr/local/resin/conf/resin.conf

找到<host id="" root-directory=".">修改成

<host id="www.site.com" root-directory=".">

httpd.confServerName www.site.com:80相匹配

找到<web-app id="/" root-directory="webapps/ROOT"/>修改成

<web-app id="/" root-directory="/usr/local/httpd/htdocs "/>

httpd.confDocumentRoot “/usr/local/httpd/htdocs”相匹配

至此,apacheresin全部整合完毕,启动apacheresin测试:

shell> /usr/local/httpd/bin/apachectl start

shell> /usr/local/resin/bin/httpd.sh start

制作测试文件

shell> echo “2+2=<%=2+2%>” > /usr/local/httpd/htdocs/test.jsp

测试

在浏览器中输入http://www.site.com/test.jsp,如能显示224,那就是整合成功了

2. 虚拟主机整合

使用www.site.comblog.site.com来做虚拟主机整合

A)配置/usr/local/httpd/conf/httpd.conf文件

备份上面修改的配置文件httpd.conf

shell> cp /usr/local/httpd/conf/httpd.conf /usr/local/httpd/conf/httpd.conf.one

复制原来备份的httpd.conf.sourcehttpd.conf

shell> cp /usr/local/httpd/conf/httpd.conf.source /usr/local/httpd/conf/httpd.conf

修改配置文件httpd.conf

shell> vi /usr/local/httpd/conf/httpd.conf

找到#ServerName www.example.com:80在下面的一行添加

ServerName 127.0.0.1:80

接下来配置虚拟主机,在apachehttpd-vhosts.conf这个文件主要是用来设置虚拟机的,所以只要把httpd-vhosts.conf选项打开即可.只要把#Include conf/extra/httpd-vhosts.conf中的#去掉,变成

Include conf/extra/httpd-vhosts.conf

这样apache就会去解析/usr/local/httpd/conf/extra/httpd-vhosts.conf这个文件中的内容了。

resin的官方网站提示,假如要用到一个ip对应多个虚拟主机,最好把ResinConfigServer localhost 6800

这行注释掉,把ResinConfigServer指令添加到相应的虚拟主机中。变成

#ResinConfigServer localhost 6800

B)配置/usr/local/httpd/conf/extra/httpd-vhosts.conf文件

老规矩,备份/usr/local/httpd/conf/extra/httpd-vhosts.conf

shell> cp /usr/local/httpd/conf/extra/httpd-vhosts.conf /usr/local/httpd/conf/extra/httpd-vhosts.conf.source

在该文件中配置虚拟主机,添加

shell> vi /usr/local/httpd/conf/extra/httpd-vhosts.conf

<VirtualHost *:80>

ServerAdmin root@localhost

DocumentRoot /home/resin/www

ServerName site.com

ServerAlias www.site.com

ResinConfigServer 127.0.0.1 6800

ErrorLog logs/www_error_log

CustomLog logs/www_access_log common

</VirtualHost>

<VirtualHost *:80>

ServerAdmin root@localhost

DocumentRoot /home/resin/blog

ServerName site.com

ServerAlias blog.site.com

ResinConfigServer 127.0.0.1 6801

ErrorLog logs/blog_error_log

CustomLog logs/blog_access_log common

</VirtualHost>

C配置/usr/local/resin/conf/resin.conf文件

备份上面修改的配置文件resin.conf

shell> cp /usr/local/resin/conf/resin.conf /usr/local/resin/conf/resin.conf.one

复制原来备份的resin.conf.sourceresin.conf

shell> cp /usr/local/resin/conf/resin.conf.source /usr/local/resin/conf/resin.conf

修改配置文件resin.conf

shell>vi /usr/local/resin/conf/resin.conf

注:在resin官方网站上提示,做多个虚拟机最好把配置文件复制成对应网站的配置文件,即相对于上面的虚拟主机,最好把resin.conf复制成相应域名的配置文件,如:www.confblog.conf,然后再做相对应的修改

shell> cp /usr/local/resin/conf/resin.conf /usr/local/resin/conf/www.conf

shell> cp /usr/local/resin/conf/resin.conf /usr/local/resin/conf/blog.conf

1)修改www.conf

shell> vi /usr/local/resin/conf/www.conf

找到<server id="" address="127.0.0.1" port="6800"/>修改成

<server id="" address="127.0.0.1" port="6800"/>

找到<http address="*" port="8080"/>修改成

<http address="*" port="8080"/>

注意:这次没有修改8080

找到<host id="" root-directory=".">修改成

<host id="www.site.com" root-directory=".">

找到<web-app id="/" root-directory="webapps/ROOT"/>修改成

<web-app id="/" root-directory="/home/resin/www"/>

2)修改blog.conf

shell> vi /usr/local/resin/conf/blog.conf

找到<server id="" address="127.0.0.1" port="6801"/>修改成

<server id="" address="127.0.0.1" port="6801"/>

找到<http address="*" port="8080"/>修改成

<http address="*" port="8081"/>

找到<host id="" root-directory=".">修改成

<host id="blog.site.com" root-directory=".">

找到<web-app id="/" root-directory="webapps/ROOT"/>修改成

<web-app id="/" root-directory="/home/resin/blog"/>

重启apache

shell> /usr/local/httpd/bin/apachectl stop

shell> /usr/local/httpd/bin/apachectl start

启动和关闭resin

由于resin使用不同的serverconf,所以在启动和关闭的时候需要特别指定如下

shell> /usr/local/resin/bin/httpd.sh -conf /usr/local/resin/conf/www.conf –pid www.pid sta


    最新回复

  1. [url=][/url]

    作者 Engittepleant — 02 十二月, 2008 12:40

  2. Hello. And Bye.

    作者 XRumerTest — 02 十二月, 2008 12:40

  3. [url=][/url]

    作者 Zowndweftonna — 02 十二月, 2008 12:40

  4. [url=][/url]

    作者 absegeaccoume — 02 十二月, 2008 12:40

  5. [url=][/url]

    作者 Suriememe — 02 十二月, 2008 12:40

  6. 髓礓

    作者 Graimabor — 02 十二月, 2008 12:40

  7. 作者 fumpunufficky — 02 十二月, 2008 12:40

  8. 111111111111111111111111111111111

    作者 monstroryuike — 02 十二月, 2008 12:40


发表评论







博客日历
« 三月 2010 »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
搜索
管理控制台
TOP_Read
TOP_Reply
New_Reply
文章分类
文章归档
网站链接
新闻聚合
RSS 0.90
RSS 1.0
RSS 2.0
Atom 0.3