2011-06-10 24 views
8

Bağımsız bir Dancer webapp'ım var mı? Bunu bir sunucu dağıtımı yaparak, bir tarball alıp cpanm veya benzeri bir yöntemle kurarak dağıtabilirim. Ancak, bu konuşlandırmayı nasıl kontrol edeceğimi göremiyorum. Ben sadece uygulama üzerinde rahatsızlık, daha sonra uygulamayı başka bir yerde yüklediğimde, sadece uygulamanın modüllerini yüklemek gibi görünüyor. Ancak, uygulama betiği, çeşitli html dosyaları ve şablonlar, ortam yapılandırma dosyaları yerel dosya sistemine yüklenmiyor.Dancer webapp dağıtımını nasıl kontrol ederim?

Web üzerinde sistemden gitmenin doğru yolu a -> tarball -> webapp sistemde b>?

Düzenleme:

Üzgünüm, ben elle şeyi yapabileceği anlamaları açıklığa gerekirdi. Sadece birkaç komutla kurulum yapmanın hızlı bir yolunun olmadığına veya çeşitli bileşenlerin yüklenebileceğini hissettiği uygulamanın kendisinde belirteceğine şaşırdım.

Çoğunlukla cpanm kullandığım için, sistem B'deki şeyleri basitleştirir, çünkü onu bir dizine ayıklamak, değiştirmek için 'cpanm' komutunu çalıştırın. ve bağımlılıkları ve uygulamanın modüllerini sistem lib'lerine yükler. Bununla birlikte, bu, uygulama modüllerinin hem >/lib/sistem hem de sistem perllib yükleme yoluna sahip olmasını sağlar. Ayrıca kullanıcının perl hakkında biraz bilgi sahibi olması gerektiği anlamına gelir.

Sanırım üç yıl önce What's the best system for installing a Perl web app?'dan beri şeylerin değişip değişmediğini öğrenmek istiyorum. Modern Perl sanatındaki tüm ilerlemelerle birlikte, bu, şimdiye kadar ele alınan bir tür sorun gibi görünüyor.

cevap

5

İşte bir yol. Sistem-a uygulamanızı oluşturun: system-b On

dancer -a Foo 
cd Foo 
perl Makefile.PL 
make dist 
scp Foo-0.1.tar.gz system-b: 
ssh system-b 

:

sudo tar xf Foo-0.1.tar.gz -C /opt 
cd /opt/Foo-0.1 
perl Makefile.PL # this will tell you the deps you need to install 
# install needed deps if any 
make 
sudo make install 
./bin/app.pl # this starts your app 

Bu yaklaşım uygulamanızı/opt/Kişisel-Uygulama yüklemeleri. Tüm yapılandırma dosyalarınız, komut dosyalarınız, vb. Tek bir klasörde yer alacaktır.

Göz önünde bulundurmak isteyebileceğiniz bir şey tüm uygulamalarınızı uygulamanızla paketlemektir. Bunu sistem-a üzerinde yaparsınız. senin Deps paket için kolay bir yol (bu aynı mimariye sahip sistem-a ve sistem-b gerektirdiğine dikkat edin) App ile olan :: cpanminus: Sonra

cpanm -L extlib Dancer Plack YAML # and any other deps 

uygulamanızı başlatmak dağıtılırken, sen yapardın gibi bir şey:

perl -Ilib -Iextlib/lib/perl5 -Iextlib/lib/perl5/x86_64-linux ./bin/app.pl 

Bu yaklaşım, sistem-b'ye herhangi bir şey yüklemeniz gerekmediği için yapar. Uygulamanızı çıkarıp çalıştırabilirsiniz.

İlgili konular