簡體   English   中英

Rails 4僅在生產環境中更改端口號

[英]Rails 4 Change port number only for production environment

我之前發現了這個問題: 如何在開發中更改Rails 3服務器的默認端口?

但是,我真正想要的只是更改生產環境的端口號。 我正在使用RoR4。如果可以在config/environments production.rb上鍵入內容,那將非常好。 有沒有辦法做到這一點?

答案很簡單

rails堆棧包含您的應用程序,然后是運行您的應用程序的服務器(也稱為“應用程序服務器”)。 該服務器可以是webrick(生產中不是一個好主意),瘦身,gunicorn,乘客等。

您應該告訴該服務器在哪個端口下運行。 您(可能)需要在Rails外部指定此名稱-不在config/production.rb因為在Rails啟動時,它已經在某些應用程序服務器中運行。

一個更深層次的例子:

讓我們以Heroku為例,因為端口號實際上是隨機的(至少從我們查看的角度來看)。

Heroku將為我們選擇一個隨機端口,然后通過PORT環境變量告訴我們。 使用Heroku,您需要一個Procfile來告訴它要啟動哪些服務,並且您的Procfile可能看起來像這樣:

web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb

看到這里,我們使用-p $PORT告訴獨角獸-在這個例子中是我們的應用服務器-在Heroku給我們的某個端口上運行。

回到您的問題:

無論您是在生產環境中啟動應用程序服務過程,還是應該告訴它指定Web服務器的端口號。 有很多方法可以在生產級別啟動您的應用程序服務過程:從新貴(內置在Ubuntu中),到監督者到上帝……所有這些方法都運行命令並確保過程保持正常(生產的重要部分)級別部署;))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM