2012-10-09 33 views
-1

我知道這可能是一個愚蠢的問題。但是我用Sinatra框架創建了一個.rb文件,我不知道如何「部署」它。當我將文件發佈到服務器上時,我只是得到一個簡單的文本文件,可以讀回我的代碼。它與Sinatra一起運行時效果很好。部署西納特拉應用.RB

在此先感謝!

+0

就叫'紅寶石app.rb'運行。如果你的代碼是正確的,那將啓動webrick服務器。 – halfelf

回答

1

它看起來像你的Web服務器(?阿帕奇)只是服務你與你的Ruby腳本(這是一個文本,ASCII文件),而不是運行它(即:不是將其穿過的紅寶石解釋器)。

因此:

  1. 已安裝在服務器上的Ruby解釋器?
  2. 是否將您的web服務器配置爲運行 Ruby腳本(文件以「.rb」結尾) 通過Ruby解釋器?
  3. 而且,Sinatra本身是否安裝在您的Web服務器上?

無論如何,Ruby應用程序(Rails,Sinatra,Padrino)通常部署到使用GIT的服務器。看看Heroku和Engine Yard。

此外,還有專爲幫助開發人員在部署Ruby應用程序的工具。查看Capistrano或Vlad和/或Google的「如何部署sinatra應用程序」。

1

對於西納特拉/ Rails的/ etc下,大多數人使用一個網絡服務器(即Apache時,Nginx的,等)和應用服務器(薄,客運,獨角獸)。對於一個簡單的應用程序,這些應用程序可以位於同一主機上Web服務器管理傳入流量,應用服務器執行Ruby代碼並將結果傳遞給Web服務器。

當你執行ruby app.rb運行你的應用程序西納特拉,你實際上是裝載了使用WEBrick這是一個應用程序服務器。由於您的開發機器是本地的,您可以直接在localhost:3000或某個類似的地址訪問它。

查找到教程您的網絡服務器建立與薄,這是比較容易的人一起工作之一。當/如果你長大了,然後看看獨角獸。