[英]How do I have mod_perl reload source files on change?
我正在使用mod _
perl開發一個應用程序,並且每次更改代碼時重新啟動服務器都是一個巨大的阻力。 我還想使用mod _
perl進行開發,因為這是我計划用於實時服務器的。 我沒有在文檔中看到有關如何執行此操作的任何內容。
思考?
我認為Apache2 :: Reload將在某種程度上實現您的目標。 但是,一旦准備好將應用程序投入生產,請記住刪除所有這些實現。
監控%INC中的所有模塊
要在請求處理開始時監視並重新加載%INC中的所有模塊,只需將以下配置添加到httpd.conf:
PerlModule Apache2::Reload
PerlInitHandler Apache2::Reload
使用連接過濾器和協議模塊時,應在pre_connection階段調用Apache2 :: Reload:
PerlPreConnectionHandler Apache2::Reload
隱式注冊模塊
要僅重新加載已向Apache2 :: Reload注冊的模塊,請將以下內容添加到httpd.conf:
PerlModule Apache2::Reload
PerlInitHandler Apache2::Reload
PerlSetVar ReloadAll Off
# ReloadAll defaults to On
然后任何模塊與行:
use Apache2::Reload;
將在他們改變時重新加載。
有關信息,請查看此文檔頁面 。 希望這可以幫助。
我使用這個解決方案,來自Perrin Harkins通過PerlMonks:
將MaxRequestsPerChild設置為1,然后在子項中加載任何可能更改的模塊,而不是父項(顯然僅適用於開發環境)。 每個請求都會遇到一個新的子服務器,它將重新加載所有可能發生變化的模塊。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.