nighty

          折騰的年華
          posts - 37, comments - 143, trackbacks - 0, articles - 0

              Phusion Passenger模塊使得Rails應用可以像PHP模塊一樣運行在Apache上,非常方便。
             準備條件:CentOS服務器已經裝好了Apache2.2和Redmine應用        

              1. 安裝Passenger模塊
                      gem install passenger
                      passenger-install-apache2-module
                  
                      第二個命令是安裝passenger的apache2模塊,它已經做得很智能,會提示你確認安裝以及最后怎么配置模塊到apache中。
                      摘出配置段的內容如下:
                          Please edit your Apache configuration file, and add these lines:

                          LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-3.0.7/ext/apache2/mod_passenger.so
                          PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.7
                          PassengerRuby /usr/bin/ruby

                      把紅色字體部分拷貝到apache的配置文件,可以是主配置文件/etc/httpd/conf/httpd.conf,也可以是在/etc/httpd/conf.d/目錄下新建一個子文件命名為ruby.conf,推薦第二種方式,更為簡潔,不會影響主文件的配置。
                
              2. 先測試一下passenger是否安裝正常

                      切換到redmine的安裝目錄下,passenger start  命令嘗試一下是否正常能以paasenger方式啟動,如果沒有異常,恭喜,已經安裝完成,剩下的工作就是配置一個虛擬主機和子給你的redmine,這樣可以轉到更為常用的80端口上。

              3. 配置rails應用做為sub URI模式
                       在passenger的官方文檔中其實有好幾種配置的方式,可以是域名、域名子URI等,很多時候你可能只有一個域名,那么利用sub URI來掛不同的應用就顯得比較
                      首先配置一段虛擬主機如下:

                  <VirtualHost *:80>
                      ServerName www.phusion.nl
                      DocumentRoot /websites/phusion
                      <Directory /websites/phusion>
                  Allow from all
                      </Directory>
                  </VirtualHost>

                     解釋一下過程大致是先創建一個硬鏈接,如下:

                  ln -s /webapps/mycook/public /websites/phusion/rails 
           
               /webapps/mycook/public是你的rails的應用目錄下面的public目錄,例如你的redmine安裝在/var/www/html,這個目錄就是
          /var/www/html/redmine/public,后面就是你Apache主目錄下的創建的一個鏈接地址rails,意思就是把/var/www/html/redmine/public
          鏈接到/var/www/html/rails,而/var/www/html/rails是實際上不存在的。
          然后再配置子目錄如下:

          <VirtualHost *:80> ServerName www.phusion.nl DocumentRoot /websites/phusion <Directory /websites/phusion> Allow from all </Directory>
          RailsBaseURI /rails # <-- These lines have <Directory /websites/phusion/rails> # <-- been added. Options -MultiViews # <-- </Directory> # <-- </VirtualHost>

           最后四句帶#注釋說明是重點,應用RailsBaseURI命令把rails子URI指定到rails的應用目錄,而rails目錄就是我們上面鏈接的目錄,而實際上會跳到我們的直接redmine目錄。

           



          剛進場的時候戲就落幕

          Feedback

          # re: CentOS下用Phusion Passenger方式部署rails應用 -- redmine示例  回復  更多評論   

          2011-05-19 16:08 by 諾菲尼
          都是代碼,看不懂啊
          主站蜘蛛池模板: 富蕴县| 新和县| 玉山县| 宜阳县| 尼玛县| 建阳市| 临洮县| 鄂伦春自治旗| 田阳县| 雷山县| 阳新县| 隆回县| 株洲市| 湘西| 新兴县| 土默特左旗| 门源| 天祝| 会东县| 凌源市| 和龙市| 呼伦贝尔市| 曲松县| 监利县| 辉县市| 凌源市| 台南县| 阳山县| 保亭| 甘肃省| 全州县| 徐闻县| 西峡县| 剑河县| 年辖:市辖区| 靖宇县| 广饶县| 陈巴尔虎旗| 芜湖市| 五常市| 榆社县|