簡體   English   中英

如何在Nginx和Unicorn中將Rails 4應用程序強制進入生產模式?

[英]How to force Rails 4 app into production mode in Nginx and Unicorn?

我正在使用Ubuntu,NginX和Unicorn在VPS上運行Rails 4應用程序。

當我通過SSL進入服務器並通過git更新應用程序或在數據庫上運行rake任務時,我的應用程序始終會切換到development模式,而無法進入production模式。

鍵入RAILS_ENV=production似乎完全無效。

當我做

$ rails console
$ Rails.env

我懂了

->發展

每時每刻。

我該怎么辦才能迫使NginX進入production模式?

其實,我不想Nginx的永遠運行在development模式。

如何做到這一點?

謝謝你的幫助。

默認情況下,您的應用程序可能在生產模式下運行。 您正在做的是使用一個外殼,使用不同的環境。

通常,在生產服務器上,您會將其放入配置文件腳本中:

# Add to ~/.bash_profile
export RAILS_ENV=production

這樣,在為rails c供電時,您將獲得正確的環境。

值得注意的是,此Shell首先參與的唯一方法是在config/database.yml具有development設置。 那不應該在那里,因為生產服務器的配置應該是僅生產的。

nginx不在開發或生產模式下運行-當您啟動獨角獸實例時,您的應用程序通過獨角獸配置和/或RAILS_ENV環境變量運行。

您應該使用前綴為命令的RAILS_ENV變量啟動獨角獸實例,例如:

RAILS_ENV=production bundle exec unicorn -c config/unicorn.rb -D

rails console啟動一個可能在不同環境中的完全不同的實例-與您的獨角獸實例無關。 如果要啟動生產控制台實例,請調用RAILS_ENV=production rails consolerails console production 請注意,這與應用程序運行所在的環境無關。

暫無
暫無

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

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