隨筆-69  評論-0  文章-5  trackbacks-0
          #少了一步安裝 fcgi本身的
          #將public下面的所有ruby路徑改正確
          #詳細說明如何啟用fcgi而不是cgi(改.htpaccess)
          #將ruby-fcgi按README安裝完全
          #啟用SYBASE要設置/etc/ld.so.conf加上sybase的lib路徑(APACHE以NOBODY啟動,LD_LIBRARY_PATH似乎沒用)


          1,為編譯fastcgi,安裝httpd-dev包
              rpm -ivh httpd-dev***.rpm    #會要求安裝其它依賴包
          2,構建mod_fastcgi.so,正常構建會報缺少文件(對fc4自動安裝apache而言),會自動加入/usr/lib/httpd/module中,/etc/httpd/conf/httpd.conf也會自動加載(但語法不對)
              apxs -n mod_fastcgi -i -a -c mod_fastcgi.c fcgi_buf.c fcgi_config.c fcgi_pm.c fcgi_protocol.c fcgi_util.c  #在解壓后的mod_fast2.4.2包中執行,構建mod_fast.so
              chmod 755 /usr/lib/httpd/modules/mod_fastcgi.so #修改訪問權限
          3,ruby的fcgi模塊正確安裝方法
             1,下載ruby-fcgi-0.8.7.tar.gz
             2,ruby install.rb config -- --with-fcgi-include=/usr/local/include --with-fcgi-lib=/usr/local/lib  (指向正確的fcgi安裝路徑)
             3,其余按readme
          4,為apache配置虛擬主機(客戶機的host要配合指向)---還要加上一條時間選項
              <Directory /var/www/>
                  AllowOverride all
              </Directory>

              LoadModule fastcgi_module modules/mod_fastcgi.so
              FastCgiConfig -singleThreshold 100 -killInterval 300 -autoUpdate -idle-timeout 240  -pass-header HTTP_AUTHORIZATION
              AddHandler fastcgi-script .fcgi

              <VirtualHost *:80>
                  ServerAdmin webmaster@example.com
                  DocumentRoot /var/www/rails/testapp/public        #testapp即為你rails程序的根目錄
                  ServerName www.example.com
                  ErrorLog /var/log/httpd/testapp-error_log
                  CustomLog /var/log/httpd/testapp-access_log common
                  Options Indexes ExecCGI FollowSymLinks
                  RewriteEngine On
              </VirtualHost>
          6,啟動apache,看歡迎頁面
              apachectl start   #用這種方式可以在控制臺查看錯誤消息(應該會報一條無效的加截so的行190?)
          7,根據需要修改rails應用(producation環境,facgi的dispatch,數據庫支持)


          8,后續修改如下
              chown -R apache.apache ${railsapp}
              mkdir /tmp/fcgi_ipc
              httpd.conf-->FastCgiIpcDir "/tmp/fcgi_ipc/"
              chown -R apache.apache /tmp/fcgi_ipc





          錯誤情況分析:
          1,apache的error.log或app的error.log會報:(權限問題)
              [Sun Nov 19 14:05:29 2006] [crit] (13)Permission denied:
              FastCGI: can't create (dynamic) server "/var/www/rails/testapp/public/dispatch.fcgi":
              bind() failed [/etc/httpd/logs/fastcgi/dynamic/3c713fbde3044b67e240a7bf3791f36b]

          2,測試dispatch.fcgi的方法ruby -d dispatch.fcgi

          3,app下面的fastcgi.crash.log中產生----注意,說方法丟失可能是c的動態庫沒有找到
             Dispatcher failed to catch: undefined method `is_cgi?' for FCGI:Class (NoMethodError)
             fcgi的問題


          posted on 2007-08-10 11:46 liunix 閱讀(967) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 肇东市| 洛南县| 民和| 南昌市| 隆昌县| 威海市| 赤水市| 准格尔旗| 酉阳| 团风县| 柏乡县| 苍山县| 巴塘县| 抚宁县| 侯马市| 开江县| 富裕县| 丰镇市| 万载县| 横峰县| 新建县| 江西省| 报价| 镇坪县| 家居| 宁津县| 尚义县| 兴海县| 双流县| 敖汉旗| 尉氏县| 天津市| 商城县| 浑源县| 安阳市| 台江县| 拉孜县| 大宁县| 彰武县| 杭锦旗| 九江市|