告別 ROR windows 部署的噩夢-在 windows 上面 使用 Apache 部署 Ruby On Rails

來源:互聯網
上載者:User

今天去賽博把給朋友做的網站部署一下,伺服器是一台windows2003的伺服器。本身沒想到在windows2003上面配置 ROR 是一場噩夢,因為網上看到了很多的 IIS 和 ROR 文檔。不做不知道,一做才知道那簡直是噩夢。忙到下午5點多還是沒有配置好,晚上回來冷靜下來想了想,有些地方不對,換個思路去做也許可以很ok。

大體思路是安裝一個apache監聽到8080連接埠,然後利用apache轉向到mongrel上就ok了。說說具體的步驟。

  1. 首先是從網上下載windows版本的ruby,安裝,記得要裝gem哦。
  2. 安裝rails,mongrel,和mongrel_servicegem install rails
    gem install win32-service
    gem install mongrel
    gem install mongrel_service
  3. 準備 ROR 程式,我就已經ok的山大路程式
  4. 把 ROR 程式添加成windows服務
    mongrel_rails service::install -N myapp -c c:\myapp -p 4000 -e production
    你也可以使用mongrel_rails service::remove -N myapp 去刪除他。
    現在註冊成服務你就可以在控制台、管理工具、服務裡面管理網站了,設定成自動啟動就ok了。
  5. 安裝apache,選擇使用連接埠8080的那個選項就ok了,防止和iis衝突了。不過下面要修改httpd.conf檔案,取消一下三行的注釋。
    LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_http_module modules/mod_proxy_http.so
  6. 在httpd.conf最後加上proxy pass的設定
    ProxyPass /myapp http://127.0.0.1:4000/
    ProxyPassReverse /myapp http://127.0.0.1:4000/

這樣就可以使用http://127.0.0.1:8080/myapp來訪問了。不過有個問題,就是你的圖片和css之類的都會因為路徑問題而無法顯示。解決辦法在javaeye裡面看到一個,下面給出代碼,還是在httpd.conf的最後添加幾行代碼,當然上面的proxy的要刪除。

  1. ProxyRequests Off       
  2. <Proxy balancer://myCluster>
  3.   BalancerMember http://localhost:4000       
  4.   BalancerMember http://localhost:4001       
  5. </Proxy>
  6. <VirtualHost *:8080>
  7.   ServerName www.cpu123.com       
  8.   DocumentRoot d:/sdroad/public       
  9.   ProxyPass /images !       
  10.   ProxyPass /stylesheets !       
  11.   ProxyPass /javascripts !       
  12.   ProxyPass / balancer://myCluster/       
  13.   ProxyPassReverse / balancer://myCluster/       
  14.   ProxyPreserveHost on       
  15. </VirtualHost>

好了,都搞定了,有時間了去市裡在配置一下。發現自己有時候很倔強,想完成的東西不弄成直接受不了。不弄出來不睡覺,弄出來了就要狂睡,嘿嘿,現在去睡覺啦。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.