2009-01-14 33 views
6

_ perl modlu bir uygulama geliştiriyorum ve kodu değiştirdiğimde her defasında büyük bir sürükleme olan sunucuyu yeniden başlatıyorum. Canlı sunucu için kullanmayı planlıyorum çünkü geliştirme için mod _ perl kullanmaya devam etmek istiyorum. Bunun nasıl yapılacağı konusunda dokümanlarda hiçbir şey görmedim.Mod_perl yeniden yükleme kaynak dosyalarını nasıl değiştiririm?

Düşünceler?

cevap

9

Sanırım Apache2 :: Reload, aradığınız şeyi bir şekilde tamamlayacaktır. Ancak, uygulamayı uygulamaya koymak için hazır olduğunuzda tüm bu uygulamayı silmeyi unutmayın. izlemek ve isteğin işleme başında% A.Ş. tüm modülleri yeniden yüklemek için% INC

izlenmesi Tüm Modüller

, sadece httpd.conf için aşağıdaki yapılandırmayı ekleyin:

PerlModule Apache2::Reload 
PerlInitHandler Apache2::Reload 

bağlantı filtreleri ve protokol modülleri ile çalışırken Apache2 :: Yeniden pre_connection aşamasında çağrılması gereken:

PerlPreConnectionHandler Apache2::Reload 

Kayıt Modüller Dolaylı olarak sadece Apache2 :: Reload kaydolduğunuza modüllerini yeniden yüklemek için

, httpd.conf aşağıdakileri ekleyin:

PerlModule Apache2::Reload 
PerlInitHandler Apache2::Reload 
PerlSetVar ReloadAll Off 
# ReloadAll defaults to On 

Sonra herhangi bir modül hattı ile:

use Apache2::Reload; 

Değiştiğinde yeniden yüklenir.

Bilgi için bkz. this documentation page. Bu yardımcı olur umarım.

2

Ben PerlMonks aracılığıyla Perrin Harkins gelen bu çözümü kullanın: 1 MaxRequestsPerChild

Set, daha sonra çocukta potansiyel olarak değişen modülleri yüklemek ekleyin, üst (besbelli yalnızca geliştirme ortamları için). Her bir talep, potansiyel olarak değişen tüm modüllerinizi yeniden yükleyecek yeni bir çocuk sunucusuna çarpacaktır. "A better way to see module changes in a running web server"

itibaren

İlgili konular