2012-03-30 7 views
7

Nginx'te perl betiklerini kullanabilmek için fcgiwrap ve spawn-fcgi 'yi kurdum. perl kodunda bir hata varsa bu tarayıcıda ama çalışırNginx hata günlüğünde perl betiği hataları nasıl alınır (FCGIwrap ile Nginx)

location ~ \.pl$ { 
    gzip off; 
    fastcgi_pass unix:/var/run/fcgiwrap.socket; 
    include fastcgi_params; 
    fastcgi_index index.pl; 
} 

aşağıdaki mesajı gösterir:

An error occurred while reading CGI reply (no response received) 

Ve perl hataları bulmak mümkün değilim Sitemin config böyle bir şey ilave Nginx günlüklerinde. Komut satırında "perl -c", perl derleme hataları varsa yardımcı olur, ancak çalışma zamanı hatalarını çözmeme yardımcı olmaz.

Nginx hata günlüğünde veya başka bir günlük dosyasında hataları kaydetmek için perl veya fcgiwrap öğelerine nasıl söyleyebilirim?

cevap

1

Perl web uygulamalarının çalışma zamanı hatalarını yakalamak ve size göstermek için bir takım güzel araçlar vardır. Bu hata ayıklama araçları, çeşitli yollarla üretimde devre dışı bırakılabilir. Temel olarak kodun büyük bölümünü "değerlendirir" ve hataların üstesinden gelmelerine izin verirler. Bazı örnekler:

0

Belki de nginx'inizin "CGI.pm" dosyasına erişim izni yoktur.

Bak bu:

[[email protected] www]# sudo -u nginx ./foo.cgi 
Can't locate CGI.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at ./foo.cgi line 2. 
BEGIN failed--compilation aborted at ./foo.cgi line 2. 

[[email protected] www]# ./foo.cgi 
Status: -charset 
Set-Cookie: utf-8 
Date: Fri, 29 Sep 2017 02:49:38 GMT 
Content-Type: text/html; charset=ISO-8859-1 

本文最后更新时间:20170929 10:35:29 
[[email protected] www]#