簡體   English   中英

如何更改mod_perl重新加載源文件?

[英]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,然后在子項中加載任何可能更改的模塊,而不是父項(顯然僅適用於開發環境)。 每個請求都會遇到一個新的子服務器,它將重新加載所有可能發生變化的模塊。

從“ 在運行的Web服務器中查看模塊更改的更好方法

暫無
暫無

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

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