Ruby-on-Rails

僅重新啟動一個特定的應用程序

  • August 24, 2012

我正在使用一個 apache 網路伺服器,它上面有幾個應用程序。

我需要重新啟動一個特定的 ruby​​ on rails 應用程序。

在 phusion 乘客文件中,它提到有兩種方法:

  1. 通過重新啟動 Apache。
  2. 通過在 Rails 應用程序的根文件夾中創建或修改文件 tmp/restart.txt。Phusion Passenger 將在下一次請求期間自動重新啟動應用程序。

例如,要重新啟動我們的範例 MyCook 應用程序,我們在命令行中鍵入:

touch /webapps/mycook/tmp/restart.txt

我不想重新啟動整個網路伺服器,只是我的 rails 應用程序。我的 rails app 文件夾稱為 sub_interface。

我在 tmp 文件夾中創建了一個名為 restart.txt 的空文本文件並執行了命令

touch htdocs/sub_interface/tmp/restart.txt

沒啥事兒。那個文件是空的。

如何在不重新啟動整個 Web 伺服器的情況下僅重新啟動我的 Rails 應用程序?

沒啥事兒。那個文件是空的。

這是您所期望的 - ./tmp/restart.txt 中的一個空文件,在您嘗試重新載入頁面之前沒有其他更改。這將在您下次載入時重新啟動應用程序,但是如果(例如)您啟用了記憶體(頁面、操作或片段),您可能看不到刷新的內容。

要測試您正在查看正確的文件夾,請 cd 到 sub_interface 並執行以下操作:

touch ./public/test.txt

然後訪問 mywebsite.com/test.txt,並檢查一個空白頁面(而不是提供 404)。

然後為了測試網站確實在重新啟動,通過添加來更改現有操作

redirect_to :root and return 

在開始並再次觸摸 ./tmp/restart.txt - 如果您訪問操作網頁(例如 mywebsite.com/users)並且它重定向,則您知道重新啟動已成功。

引用自:https://serverfault.com/questions/420627