user nginx nginx; worker_processes 5; error_log /var/log/nginx/nginx-perl_error.log; pid /var/run/nginx-perl.pid; events { worker_connections 2048; use epoll; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] $request ' '"$status" $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/nginx-perl_access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; server_names_hash_bucket_size 128; types_hash_max_size 2048; types_hash_bucket_size 64; #keepalive_timeout 0; keepalive_timeout 65; limit_zone test-limit $binary_remote_addr 10m; #gzip on; # perl_modules perl/lib; # perl_require /home/services/nginx/cgi-bin/example-hello-01.pm; perl_set $msie6 ' sub { my $r = shift; my $ua = $r->header_in("User-Agent"); return "" if $ua =~ /Opera/; return "1" if $ua =~ / MSIE [6-9]\.\d+/; return ""; } '; # For more visit # http://wiki.codemongers.com/NginxEmbeddedPerlModule server { listen 80; server_name localhost; access_log /var/log/nginx/nginx-perl_access.log main; client_max_body_size 10M; location / { perl example-hello-01::handler; limit_conn test-limit 15; } location ~ ^/cgi-bin/.*\.cgi$ { fastcgi_pass unix:/var/run/nginx-perl_cgi.sock; fastcgi_index index.cgi; fastcgi_param SCRIPT_FILENAME /home/services/nginx/$fastcgi_script_name; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; fastcgi_read_timeout 5m; } # location /nginx_status { # stub_status on; # access_log off; # allow 127.0.0.1; # deny all; # } # error_page 404 /404.html; # error_page 500 502 503 504 /50x.html; # location = /50x.html { # root /home/services/http/error-pages; # } # location = /404.html { # root /home/services/http/error-pages; # } } }