2010-09-28 44 views
0

我想模擬我的本地heroku,因爲我們的應用程序在heroku上。儘管我沒有訪問heroku中的應用程序,但我只是計劃重新創建heroku在爲我們的應用程序實施SSL時使用的相同環境。在本地模擬heroku(nginx + rails 3應用程序)

無論如何,我搜索了heroku,並根據我的發現和假設,他們使用nginx。我現在正在使用WEBrick,並試圖在我的機器上安裝nginx。也許我只是不知道關於服務器的東西垃圾等,但任何人都可以幫助我呢?我在OSX上,並計劃使用nginx作爲我的rails 3應用程序的服務器。

這裏是我試過的東西:

  1. 手動編譯安裝nginx的 - 失敗。當我輸入'sudo nginx'時甚至沒有響應。
  2. 使用端口安裝nginx - 失敗。鍵入「須藤nginx的」只顯示縹緲
  3. 安裝乘客在軌道3寶石「http://www.blog.bridgeutopiaweb.com/post/install-rvm-passenger-nginx-and-rails-3-on- ubuntu-lucid-lynx /「 - 失敗

好吧,我真的不知道我在這裏做什麼。任何人都可以指出我如何着手這個方向的正確方向?我只需要用ssl而不是WEBrick在nginx上運行應用程序。謝謝!

回答

1

我在我的MacBook上運行MacPorts安裝,但它已經過了一段時間,因爲我完全配置它。你的路線包括/opt/local/sbin?這就是默認安裝ngnix的地方。

在進行本地安裝時還有其他的事情需要考慮,但是這應該讓你瞭解當前的駝峯。我沒有使用SSL支持,所以我不能對此發表評論。我還推薦使用RVM來運行多個本地Rub(並通過gem,Rails)版本,而不用擔心Snow Leopard附帶的默認版本。

一個大問題是,爲了讓nginx和乘客使用RVM,install process實際上想重新編譯nginx,並且它促使我建立一個新的根文件夾。我最終以/opt/local/nginx去,因爲由於MacPorts文件夾結構,沒有一個頂級目錄(如/opt/local),我可以指定它來替換現有的安裝。

所以,最後,這個結束了我一個全新的安裝Nginx的,離開了原來的MacPorts一個孤兒。你可能仍然想要進行MacPorts的初始安裝,只是爲了自己測試nginx。在RVM

一個建議:不要使用sudo來安裝寶石,因爲這使他們在本地文件夾斷你的主目錄中。請記住,您仍然需要運行rvm 1.9.2 --default以使Ruby版本成爲當前shell生命週期之後的默認版本。如果您使用rvm use 1.9.2進行切換,它不會粘住。

無的,涉及到紅寶石的客機將從您的RVM文件夾中使用,請參見上面的鏈接進行了具體說明。對我而言,通過rvm 1.9.2 --passenger在我的nginx.conf中創建的默認passenger_ruby條目實際上是不正確的,因此請確保您檢查該頁面上的故障排除詳細信息。

的說明假設你想使用Ruby企業版(也就是在命令「稀土」),但我只是跑正式發佈1.9.2。

最後,我也遇到了libiconv問題。RVM有fix for that too

+0

它看起來像我安裝了端口,嘗試哪些nginx和它顯示:/ opt/local/sbin/nginx然後我做了sudo nginx,它說[emerg]:bind()爲0.0.0.0:80失敗48:地址已經在使用) – corroded 2010-09-29 01:21:43

+0

檢查你的活動管理器,看看是否已經有nginx進程在運行。或者,您是否擁有Snow Leopard附帶的默認Apache?查看系統偏好設置 - >共享 - >網絡共享。後來,我也遇到了日誌目錄權限問題。不要將它調到777(755很好),或者你得到一個關於訪問PID文件(你的nginx.conf中保存了一個dir)的無關聲音錯誤信息。 – 2010-09-29 02:18:09

相關問題