我很新ruby
,我想知道,是否有可能讓我的ruby腳本部署在服務器上?
或者我應該使用Rails?如何部署Ruby應用程序 - 不是ROR?
據我所知,Rails不是核心Ruby
lang的一部分,而Ruby
甚至沒有Rails也具有server
的功能。 (如Java,PHP和等。)
編輯:
我有一個Ruby script
- 作爲一個CMD線通過計劃 - 我想將它部署到外部(甚至是內部)服務器的方式CGI
用來做腳本/程序。
我很新ruby
,我想知道,是否有可能讓我的ruby腳本部署在服務器上?
或者我應該使用Rails?如何部署Ruby應用程序 - 不是ROR?
據我所知,Rails不是核心Ruby
lang的一部分,而Ruby
甚至沒有Rails也具有server
的功能。 (如Java,PHP和等。)
編輯:
我有一個Ruby script
- 作爲一個CMD線通過計劃 - 我想將它部署到外部(甚至是內部)服務器的方式CGI
用來做腳本/程序。
是的,你可以部署任何Ruby應用程序,顯然不僅僅是Rails應用程序。看看Capistrano。
然而,部署和服務是兩個不同的事情。如果您正在尋找Ruby HTTP服務器,請查看Unicorn,Thin,WEBrick,Puma。
如果你想要一個完全成熟的解決方案嘗試Heroku它處理兩個部署和網絡服務部分。
找不到更簡單的工具?因爲它說明了自己'在Ruby中編寫遠程服務器自動化和部署工具.'我只想要一個'ruby服務器/容器' –
受歡迎的ruby服務器:獨角獸,瘦,WEBrick,Puma – Agis
部署Ruby/Rack應用程序的最簡單方法如果您不熟悉部署,或者系統管理員使用Heroku。否則,你可能不應該搞砸它,直到Capistrano,Rack,Unicorn和Thin在你的生活中有意義。 – davidfurber
有很多工具可以部署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。
乾杯!
感謝您提供這方面的信息,但是我發現'Heroku' - ''sinatra'要簡單得多。 –
我非常喜歡'Heroku',它非常好。我也用'Rails Playgroung',不錯,但是使用'Apache'和'Passenger'(我不喜歡Passenger)。我忘了提及,請檢查'ruby-toolbox',它有一些非常有用的統計信息和Rails技術更新頻率的信息。他們有很多類別,這是關於部署自動化的,請看一下:https://www.ruby-toolbox.com/categories/deployment_automation。我也會把鏈接放在答案中。乾杯! – Apollo
非常感謝 –
你的問題不清楚。 Ruby在標準庫中有一個Web服務器的事實與任何部署過程都沒有關係。 – depa
我不是在談論部署過程,我只想讓我的基於cmd行的腳本轉換爲正在運行的服務。 (一種CGI工作方式) –
-1er's請給我一個reasone給-1我的問題? –