Ruby-on-Rails
僅重新啟動一個特定的應用程序
我正在使用一個 apache 網路伺服器,它上面有幾個應用程序。
我需要重新啟動一個特定的 ruby on rails 應用程序。
在 phusion 乘客文件中,它提到有兩種方法:
- 通過重新啟動 Apache。
- 通過在 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)並且它重定向,則您知道重新啟動已成功。