2013-10-09 35 views
0

我很新ruby,我想知道,是否有可能讓我的ruby腳本部署在服務器上?
或者我應該使用Rails?如何部署Ruby應用程序 - 不是ROR?

據我所知,Rails不是核心Ruby lang的一部分,而Ruby甚至沒有Rails也具有server的功能。 (如Java,PHP和等。)

編輯

我有一個Ruby script - 作爲一個CMD線通過計劃 - 我想將它部署到外部(甚至是內部)服務器的方式CGI用來做腳本/程序。

+2

你的問題不清楚。 Ruby在標準庫中有一個Web服務器的事實與任何部署過程都沒有關係。 – depa

+0

我不是在談論部署過程,我只想讓我的基於cmd行的腳本轉換爲正在運行的服務。 (一種CGI工作方式) –

+0

-1er's請給我一個reasone給-1我的問題? –

回答

0

是的,你可以部署任何Ruby應用程序,顯然不僅僅是Rails應用程序。看看Capistrano

然而,部署和服務是兩個不同的事情。如果您正在尋找Ruby HTTP服務器,請查看Unicorn,Thin,WEBrick,Puma。

如果你想要一個完全成熟的解決方案嘗試Heroku它處理兩個部署網絡服務部分。

+0

找不到更簡單的工具?因爲它說明了自己'在Ruby中編寫遠程服務器自動化和部署工具.'我只想要一個'ruby服務器/容器' –

+0

受歡迎的ruby服務器:獨角獸,瘦,WEBrick,Puma – Agis

+1

部署Ruby/Rack應用程序的最簡單方法如果您不熟悉部署,或者系統管理員使用Heroku。否則,你可能不應該搞砸它,直到Capistrano,Rack,Unicorn和Thin在你的生活中有意義。 – davidfurber

0

有很多工具可以部署Ruby項目,但您可以手動完成。

我還發現很難找到一個易於使用的解決方案,我認爲這是RoR框架中非常煩人的缺陷。

我在一個解決方案一直在努力部署使用Git項目到服務器,像Heroku的工具區(谷歌,是一個非常好的工具)。主要的概念是:你使用Git來推動你的項目,服務器完成其他任何事情!在這裏你可以看到我的項目:https://github.com/sentient06/RDH/

但是,請不要關注這一點。相反,請閱讀我訪問wiki中所有信息的方式:https://github.com/sentient06/RDH/wiki

這是一個有點過時,但我可以在這裏總結一下你:

首先,設置你的服務器。這是最無聊的一部分,您必須安裝的所有配置,安全措施,遠程訪問,等等,等等

如果你沒有一臺服務器,你可以僱傭一個專門爲RoR的應用。這裏有一些好的,每個都有不同的部署工作流程。但假設你自己決定o設置:

我建議你有任何Linux或Unix系統的服務器版本。然後安裝Ruby版本管理器,然後安裝Ruby,然後安裝Rails。然後安裝服務器應用程序。我建議瘦,但很多人使用Unicorn或Apache或其他服務器。在互聯網上挖一點點,找到一個易於使用的解決方案。不過,如果您不使用Apache,您也需要一個「反向代理」,以便您可以將端口80,8080等上的所有請求重定向到您的應用程序。我建議Nginx(我不喜歡Apache,我覺得太過分了)。

現在,一切都完成後,部署過程可以做或多或少是這樣的:

1 - 的方式你的文件服務器進行更新提交的一切;

2 - 在服務器中,cd到應用程序的目錄,然後執行以下命令:

$ bundle package 
$ bundle install --deployment 
$ RAILS_ENV=production rake db:migrate 
$ rake assets:precompile 

3 - 重新啓動服務器,如果有必要,反向代理。

在互聯網上挖掘,瞭解每個命令。這些將非常強制您的應用程序進入生產模式,減少JavaScript和CSS使用的空間,遷移您的生產數據庫並安裝捆綁軟件。生產RoR與開發RoR沒有太大區別,它更緊湊,速度更快。

我確實希望這些信息有用。

祝你好運!

更新

我忘了提,檢查ruby-toolbox,但對正在更新頻率的Rails技術一些真正有用的統計數據和信息。他們有很多類別,這是關於部署自動化的,請看看:https://www.ruby-toolbox.com/categories/deployment_automation

乾杯!

+0

感謝您提供這方面的信息,但是我發現'Heroku' - ''sinatra'要簡單得多。 –

+1

我非常喜歡'Heroku',它非常好。我也用'Rails Playgroung',不錯,但是使用'Apache'和'Passenger'(我不喜歡Passenger)。我忘了提及,請檢查'ruby-toolbox',它有一些非常有用的統計信息和Rails技術更新頻率的信息。他們有很多類別,這是關於部署自動化的,請看一下:https://www.ruby-toolbox.com/categories/deployment_automation。我也會把鏈接放在答案中。乾杯! – Apollo

+0

非常感謝 –