一、Windows下resin的安装以及配置
1 、安装
1) 安装好JDK
2) 把resin-3.0.x.zip解压缩
3) 运行resin-3.0.x/httpd.exe
4) 打开查看测试页面
如果正确打开,窗口会显示如下信息:
C:\win32> resin-3.0.0\bin\httpd
Resin 3.0.0-beta (built Thu Feb 13 18:21:13 PST 2003)
Copyright(c) 1998-2002 Caucho Technology. All rights reserved.
Starting Resin on Sat, 01 Mar 2003 19:11:52 -0500 (EST)
[19:11:56.479] ServletServer[] starting
[19:11:57.000] Host[] starting
[19:11:58.312] Application[/doc] starting
[19:12:11.872] Application[/quercus] starting
...
[19:12:12.803]http listening to *:8080
[19:12:12.933]hmux listening to *:6802
2、配置
部署为Windows下的服务:
The Resin Web Server can be installed as an Windows service.
Resin服务器可以被安装成为Windows的服务
要安装为Windows的服务,可以用下面的命令
C:\> resin-3.0.x\bin\httpd -install -conf conf/myconf.conf
这样Resin就会作为服务随着机器的启动而自动开启。
要想移除此服务
C:\> resin-3.0.x\bin\httpd -remove
你也可以用如下命令开启和关闭Resin的服务:
C:\> net start resin
...
C:\> net stop resin
多服务起配置:
使用参数 -install-as foo来指定一个特定的服务名
C:\> resin-3.0.x\bin\httpd -install-as ResinA -conf conf/myconf.conf
-server a
C:\> net start ResinA
注意:
有一些JDK存在这样的Bug,当管理员帐户注销以后服务也会随着关闭,解决办法是在安装的时候使用参数 –Xrs:
C:\> resin3.0.0/httpd.exe -install –Xrs
二、Linux下resin的安装以及配置:
1、安装
1) 安装 JDK 1.4
2) 确定环境变量JAVA_HOME设置正确
3) 安装
单独运行:
# tar zxvf resin-3.0.4.tar.gz
# mv resin03.0.6 /usr/local/resin
#cd /usr/local/resin
# ./configure
# make
# make install
#cd bin
#./httpd.sh start
自动启动:
在/etc/rc.d/rc.local中加入如下语句:
/usr/local/resin/bin/httpd.sh start
和Apache整合:
1)Apache安装
# tar zxvf httpd-2.49.tar.gz
# cd httpd-2.49
# ./configure --prefix=/usr/local/httpd --enable-modules=so --enable-so
--prefix
--enable-modules用来指定系统允许使用的功能扩展模块的类型,这里指定为so类型。
--enabel-so 用来指定允许使用DSO(Dynamic Share Object动态共享对象)。
# make
# make install
设置apache自动启动:
将Apache的启动文件apachectl写入rc.local中
/usr/local/httpd/bin/apachectl start
2)Resin安装
# tar zxvf resin-3.0.4.tar.gz
# cd resin-3.0.4
# ./configure --prefix=/usr/local/resin --with-apache=/usr/local/httpd
# make
# make install
此时已经生成Resin连接Apache2的.so文件了,其存在与$APACHE_HOMEe/modules/mod_caucho.so
conf/httpd.conf中就会多出以下语句:
LoadModule caucho_modules modules/mod_caucho.so
ResinConfigServer localhost 6802
分别先后启动Resin和Apache
访问 可以看到Resin的状态页面
2 、配置
1)linux下使用resin的单服务器配置
使用单服务器方案,只要安装完毕,配置一下Resin的resin.conf文件和app_default.xml文件就可以了,resin.conf文件中需要配置两处,一是端口号,另一处是Web程序存放目录,app_default.xml内可配置默认首页的搜索顺序。由于原网站使用多个端口配置,所以单服务器只能用于做单个站点的测试使用。
2)linux下使用resin的多服务器配置以及多实例开机自动运行的配置
有时候需要运行多个服务器以在同一个IP上监听多个端口,这时候就需要使用单独的Resin服务器运行多个实例,以监听多个端口来部署多个Web站点。
可以有如下两种配置方法:
第一种方法:
这种方法为多次使用httpd.sh的参数指定配置文件和运行时的pid文件,实现多个实例的运行。
使用的命令行如下所示:
$RESIN_HOME/bin/httpd.sh -conf conf/resin1.conf -pid resin1.pid start
解释:
-conf 选项为选择此服务器实例所用的配置文件,在这个文件里面配置不同的端口和主目录。
-pid 进程id及所用pid文件。
start 启动。
用以上命令,在建立多个服务器配置文件以后就可以手工打开多个服务器实例。
把这些语句加到/etc/rc.d/rc.local中就可以实现开机自动启动了。
第二种方法:
这种方法使用Chkconfig命令设置多服务器自动启动,运行于不同系统运行级别的后台方式。并使他们成为可在图形界面下管理的服务。
设置好JAVA_HOME环境变量后将RESIN解包到/home/resin下,执行编译脚本
#tar zxf resin-version.tar.gz
#mv resin-version /home/resin
#cd /home/resin/
#./configure
#make
#make install
将make install生成的$RESIN_HOME/contrib/init.resin复制到/etc/rc.d/init.d/目录下改名为resinx
修改resin文件的内容(三处)
(1)JAVA环境设置
找到以下代码段
JAVA_HOME=/usr/java
RESIN_HOME=/usr/local/resin
并修改他们为相应的目录,第一个为JDK安装主目录,第二个为Resin安转主目录。
(2)PID=$RESIN_HOME/resin.pid
修改为
PID=$RESIN_HOME/resin1.pid(很清楚,要不一样的pid)
(3)、找到程序段
start)
echo -n "Starting resin: "
if test -n "$USER"; then
su $USER -c "$EXE -pid $PID start $ARGS"
else
$EXE -pid $PID start $ARGS
fi
echo
;;
修改为
start)
echo -n "Starting resin: "
if test -n "$USER"; then
su $USER -c "$EXE -conf $RESIN_HOME/conf/resin1.conf -pid $PID start $ARGS"
else
$EXE -conf $RESIN_HOME/conf/resin1.conf -pid $PID start $ARGS
fi
echo
;;
其实上面的程序和第一部分是一样的,只是用脚本来运行了。
最后chmod +x resin1
用上面的方法拷贝出resin2,resin3.....
chmod +x resin1
chmod +x resin2
......
命令为:
cp contrib/init.resin /etc/rc.d/init.d/resin1
vi /etc/rc.d/init.d/resin1
i
:wq
chmod +x /etc/rc.d/init.d/resin1
如此你想运行几个服务器实例创建几个这样的文件(resinx)
修改resin中的一些设置:JAVA_HOME RESIN_HOME USER等,
将resin服务在不同的启动级中设置成自启动:
#/sbin/chkconfig resin1 reset
#/sbin/chkconfig resin2 reset
......
创建不同的配置文件
注意每一个配置文件必须保持三处不同:
(1)srun(负载平衡配置)部分端口号必须不同,用不同的ip地址也可以。
在原文件的如下部分:
(2)默认主文件目录要设为不同,不然就失去了多个实例的意义,不然的话还不如用负载平衡来提高性能
(3)服务器的端口号必须不同。
这样系统启动的时候,resin就会在后台运行多个实例了,效果和第一步一样。