<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Dict.CN 在線詞典, 英語學習, 在線翻譯

    都市淘沙者

    荔枝FM Everyone can be host

    統(tǒng)計

    留言簿(23)

    積分與排名

    優(yōu)秀學習網(wǎng)站

    友情連接

    閱讀排行榜

    評論排行榜

    Linux下Resin的配置及自動啟動

    版權聲明:可以任意轉載,轉載時請務必以超鏈接形式標明文章原始出處和作者信息及本聲明
    http://www.chedong.com/tech/resin.html

    內容摘要:

    1. 將resin-version/contrib/init.resin.in復制到/etc/rc.d/init.d/resin
    2. 修改resin中的一些設置:JAVA_HOME RESIN_HOME USER 等
    3. 用/sbin/chkconfig resin on將RESIN服務在啟動級別345設置成自啟動
    4. 在慢速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等環(huán)境變量在系統(tǒng)初始化過程中是讀不到的。通過一些資料
    http://www.caucho.com/support/resin-interest/0112/0151.html
    了解到將RESIN配置成一個可配置的服務需要以下幾個步驟:

    1. 設置好JAVA_HOME環(huán)境變量后將RESIN解包到/home/resin下,執(zhí)行編譯腳本
      %tar zxf resin-version.tar.gz
      #mv resin-version /home/resin
      %cd /home/resin/
      %./configure
      %make
      #make install
    2. 將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
    3. 修改resin中的一些設置:JAVA_HOME RESIN_HOME USER等,
    4. 將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),啟動的優(yōu)先級是85,停止的優(yōu)先級是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權限,而且隨服務器自啟動就不能使用httpd.sh了,而需要一個可執(zhí)行文件來實現(xiàn),這個可執(zhí)行在./configure ; make; make install后,這個可執(zhí)行文件會生成在$RESIN_HOME/bin/下,resin文件實際是一個執(zhí)行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

    問題解決過程和思路:

    先檢查resin的日志:stderr.log,里面有can't connect to parent,然后在google上查"resin2 can't connect to parent"和"resin can't connect to parent",大約有幾篇郵件列表歸檔吧,在一篇郵件列表歸檔中有技術支持說正在調整服務等待時間解決類似問題(需要改SOURCE),另外一個人說他的P4服務器啟動時需要啟動很多消耗CPU的服務,也會導致RESIN啟動不了,然后我在自己的機器上嘗試了一下,在RESIN啟動前就登錄到機器上,發(fā)現(xiàn)啟動時RESIN和PERL腳本其實都運行了,但過了一會兒相應進程就退出了,在啟動后系統(tǒng)比較平穩(wěn)了,再啟動RESIN,RESIN服務就是好的,說明說明腳本本身沒有問題,按我以前的經(jīng)驗,JAVA應用是一個比較吃CPU資源的類型,為了讓RESIN有足夠的CPU資源的啟動,在啟動后我增加了15秒的延遲,以防止后續(xù)服務影響RESIN的啟動。問題就解決了,而且在其他機器上試也成功了。

    當然,最好還是CAUCHO解決了這個問題大家就都不用學這些小技巧了。因此我將類似中所有的BUG報告中提交了自己的解決方案,要求在init.resin腳本中增加一個全局變量,允許用戶設置啟動時的等待時間。并把這個解決思路追加到文檔中,讓大家能夠用自己的行動積極支持開源軟件。

    posted on 2006-02-22 17:36 都市淘沙者 閱讀(1973) 評論(0)  編輯  收藏 所屬分類: JSP/PHP

    主站蜘蛛池模板: 亚洲av无码不卡| 香蕉成人免费看片视频app下载| 亚洲成人在线网站| 亚洲国产成人久久精品99| 免费中文熟妇在线影片| 一级毛片免费观看| a级毛片高清免费视频| 亚洲日本一线产区和二线产区对比| 亚洲国语精品自产拍在线观看| 亚洲免费无码在线| 免费人成视频x8x8入口| 四虎影视免费在线| 国产成人免费高清激情视频 | av无码东京热亚洲男人的天堂| 国产1024精品视频专区免费| 91制片厂制作传媒免费版樱花| 国产无遮挡又黄又爽免费网站| 免费激情网站国产高清第一页| 色偷偷亚洲男人天堂| 亚洲精品欧美综合四区| 亚洲综合色丁香婷婷六月图片| 激情综合亚洲色婷婷五月| 亚洲人6666成人观看| 亚洲图片中文字幕| 亚洲AV色吊丝无码| 四虎亚洲精品高清在线观看| 亚洲天堂男人影院| 一区二区亚洲精品精华液| 亚洲色丰满少妇高潮18p| 亚洲一区二区三区高清不卡| 亚洲AV无码成人专区| 亚洲av乱码一区二区三区| 亚洲AV成人噜噜无码网站| 亚洲人成片在线观看| 亚洲中文字幕无码一去台湾| 亚洲午夜在线播放| 亚洲av乱码一区二区三区按摩| 日韩色视频一区二区三区亚洲| 国产亚洲福利一区二区免费看| 粉色视频免费入口| 精品97国产免费人成视频|