荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: windmoon.bbs@bbs.zju.edu.cn (风神月影), 信区: Linux
标 题: RESIN在GNU/Linux上的服务自动启动
发信站: 浙江大学海纳百川 (Sat Jan 11 09:19:55 2003)
转信站: SZU!news.tiaozhan.com!news.zixia.net!news.happynet.org!ZJUBBS
作者: 车东 chedong@bigfoot.com
最后更新:2003-01-03 09:51:35
版权声明:可以任意转载,转载时请务必标明原始出处和作者信息
内容摘要:
将resin-version/contrib/init.resin.in复制到/etc/rc.d/init.d/resin
修改resin中的一些设置:JAVA_HOME RESIN_HOME USER 等
用/sbin/chkconfig resin on将RESIN服务在启动级别345设置成自启动 。
在慢速CPU的机器上启动时,需要加入一个15秒的延时帮助JAVA启动
我最习惯的设置服务自动启动的方式是在rc.local里加类似一下的脚本:
#sshd
/usr/local/sbin/sshd
#proftpd
/usr/local/sbin/proftpd
#apache
/home/apache/bin/apachectl start
#mysql
/home/mysql/bin/safe_mysqld --port=3306 &
#start oracle8i listener first
su - oracle -c 'lsnrctl start'
#start oracle8i
su - oracle -c 'dbstart'
但配置RESIN的自动启动的时候确遇到了不少麻烦,主要是JAVA_HOME等环境变量在
系统初始化过程中是读不到的。通过一些资料
http://www.caucho.com/support/resin-interest/0112/0151.html
了解到将RESIN配置成一个可配置的服务需要以下几个步骤:
设置好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/resin,并
且
chmod +x resin
cp contrib/init.resin /etc/rc.d/init.d/resin
chmod +x /etc/rc.d/init.d/resin
修改resin中的一些设置:JAVA_HOME RESIN_HOME USER等,
将resin服务在不同的启动级中设置成自启动:
#/sbin/chkconfig resin reset
从中还学到了不少关于用chkconfig管理服务启动的知识。其实/etc/init.d/resin
这个脚本之所以可以用chkconfig来配置主要是有以下的注释:
# chkconfig: 345 85 15
# description: Resin is a Java Web server.
这个注释表示resin服务在运行级别345下自动启动(/etc/rc.d/下 rc3.d rc4.d
rc5.d都用相应链接到init.d/resin),启动的优先级是85,停止的优先级是15。这样
就能自动在相应的rc#.d/生成
S##resin和K##resin了。原先感觉GNU/Linux下的rc.d/下的文件很乱,不如FREEBSD的
简洁。有了CHKCONFIG还是让我对下面的文件管理简化了很多。用/sbin/chkconfig
resin on将RESIN服务设置成自启动服务后,在GNU/Linux的setup界面的system
services设置中也可以对RESIN服务进行设置了。
如果让RESIN作为80端口的服务需要用ROOT权限,而且随服务器自启动就不能使用h
ttpd.sh了,而需要一个可执行文件来实现,这个可执行在./configure ; make;
make
install后,这个可执行文件会生成在$RESIN_HOME/bin/下,resin文件实际是一个执行
wrapper.pl的转向。
在慢速机器上的RESIN启动:
RESIN是一个JAVA应用,启动过程中需要消耗大量的CPU资源。因此在一些比较慢的
机器上或者按照以上的配置有时候会很奇怪的启动不起来,在stderr.log中显示:"can
't connect to parent",这个问题可以通过在服务启动后加上一个15秒的延时解决:
在/etc/init.d/resin: 43行左右:
if test -n "$USER"; then
su - $USER -c "$EXE -pid $PID start $ARGS"
else
$EXE -pid $PID start $ARGS
fi
#服务启动后,加上一个15秒的延时解决
sleep 15
这个问题我已经作为一个BUG提交给了CAUCHO.COM
参考资料:
RESIN的安装: http://www.caucho.com/download/install.pdf
用红帽子的chkconfig管理Init脚本 http://www.cioworld.net/linux/069.htm
--
※ 来源:·浙江大学海纳百川站 bbs.zju.edu.cn·[FROM: windmoon]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店