|
#!/bin/bash #set -x if [[ $# != 1 ]];then echo "usage $0 start|stop|restart" exit 1 fi dir=/usr/local/nginx stop () { #pkill -f $dir/perl-fcgi.pl kill $(cat $dir/logs/perl-fcgi.pid) rm $dir/logs/perl-fcgi.pid 2>/dev/null rm $dir/logs/perl-fcgi.sock 2>/dev/null echo "stop perl-fcgi done" } start () { rm $dir/now_start_perl_fcgi.sh 2>/dev/null chown nobody.root $dir/logs echo "$dir/perl-fcgi.pl -l $dir/logs/perl-fcgi.log -pid $dir/logs/perl-fcgi.pid -S $dir/logs/perl-fcgi.sock" >>$dir/now_start_perl_fcgi.sh chown nobody.nobody $dir/now_start_perl_fcgi.sh chmod u+x $dir/now_start_perl_fcgi.sh sudo -u nobody $dir/now_start_perl_fcgi.sh echo "start perl-fcgi done" } case $1 in stop) stop ;; start) start ;; restart) stop start ;; esac |
location ~* .*\.cgi$ { rewrite ^/nagios/cgi-bin/(.*)\.cgi /$1.cgi break; include perl_fcgi.conf; } |
gzip off; #gzip makes scripts feel slower since they have to complete before getting gzipped fastcgi_param SCRIPT_FILENAME /usr/local/nagios/sbin$fastcgi_script_name; fastcgi_param QUERY_STRING $query_string; |
| #!/usr/bin/perl -w print "Content-type: text/plain\r\n\r\n";#发送头信息 print "test"; |
记得一定要给nginx发送头信息 不然会报504错误的。
另:
cgi-bin存在于html目录下时(不是为了部署nagios)
nginx.conf更改下面的部分: location ~* .*\.cgi$ perl_fcgi.conf更改下面的部分: gzip off; #gzip makes scripts feel slower since they have to complete before getting gzipped fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
{
include perl_fcgi.conf;
}
fastcgi_pass unix:/usr/local/nginx/logs/perl-fcgi.sock;
fastcgi_index index.cgi;
|
- export FCGI_SOCKET_PATH="/tmp/perl_fcgi.socket"
- export FCGI_NPROCESSES=4
- ./fcgi.pl &
location ~* .*\.cgi$ |
gzip off; #gzip makes scripts feel slower since they have to complete before getting gzipped fastcgi_param SCRIPT_FILENAME /usr/local/nagios/sbin$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string; |
- location ~ \.cgi$ {
- fastcgi_pass unix:/var/run/nginx/perl_cgi-dispatch.sock;
- fastcgi_index index.cgi;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- include fastcgi_params;
- }
| #!/usr/bin/perl -w print "Content-type: text/plain\r\n\r\n";#发送头信息 print "test"; |
记得一定要给nginx发送头信息 不然会报504错误的。


