Bugs in nginx

gloomen nginx-forum at nginx.us
Thu Sep 10 14:29:18 MSD 2009

Friends, help deal with nginx. I can not go to the site.

502 Bad Gateway

ee /var/log/nginx-error.log

2009/09/10 14:58:19  734#0: *3 upstream prematurely closed connection while reading response header from upstream, client:, server: xxx.net, request: "GET / HTTP/1.1", upstream: "fastcgi://", host: "xxx.net"

ee /usr/local/etc/nginx/nginx.conf

user  www;
worker_processes  3;

pid        /var/run/nginx.pid;
worker_rlimit_nofile  1000;

events {
    worker_connections  2000;

http {
    include       mime.types;
    default_type  application/octet-stream;

    tcp_nopush     on;
    tcp_nodelay    on;
    keepalive_timeout  65;
    server_names_hash_max_size 2048;
    server_names_hash_bucket_size 128;

    sendfile on;
    gzip  on;

    gzip_min_length 2048;
    gzip_types text/css text/js text/xml;

    client_max_body_size 10m;
    large_client_header_buffers 4 8k;

    log_format main      '$remote_addr - $remote_user [$time_local] '
                         '"$http_referer" "$http_user_agent" "$gzip_ratio"';

    server {
        listen       80;
        server_name xxx.net;
        access_log   /var/log/nginx.access_log  main;

        charset windows-1251;
        client_max_body_size    25m;

        location / {
            root   /usr/local/www/web1;
            index  index.html index.php;

        location ~* \.php$ {
            fastcgi_connect_timeout 60;
            fastcgi_send_timeout 180;
            fastcgi_read_timeout 180;
            fastcgi_buffer_size 1024k;
            fastcgi_buffers 4 1024k;
            fastcgi_busy_buffers_size 1024k;
            fastcgi_temp_file_write_size 1024k;
            fastcgi_temp_path /tmp;

            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME /usr/local/www/web1$fastcgi_script_name;
            include        fastcgi_params;

ee /usr/local/etc/php-fpm.conf

<?xml version="1.0" ?>

        All relative paths in this config are relative to php's install prefix


                Pid file

                Error log file

                Log level

                When this amount of php processes exited with SIGSEGV or SIGBUS ...

                ... in a less than this interval of time, a graceful restart will be initiated.
                Useful to work around accidental curruptions in accelerator's shared memory.

                Time limit on waiting child's reaction on signals from master

                Set to 'no' to debug fpm




                        Name of pool. Used in logs and stats.

                        Address to accept fastcgi requests on.
                        Valid syntax is 'ip.ad.re.ss:port' or just 'port' or '/path/to/unix/socket'


                                Set listen(2) backlog

                                Set permissions for unix socket, if one used.
                                In Linux read/write permissions must be set in order to allow connections from web server.
                                Many BSD-derrived systems allow connections regardless of permissions.

                        Additional php.ini defines, specific to this pool of workers.
                <!--            /usr/sbin/sendmail -t -i            -->
                <!--            0                                                          -->

                        Unix user of processes

                        Unix group of processes

                        Process manager settings

                                Sets style of controling worker process count.
                                Valid values are 'static' and 'apache-like'

                                Sets the limit on the number of simultaneous requests that will be served.
                                Equivalent to Apache MaxClients directive.
                                Equivalent to PHP_FCGI_CHILDREN environment in original php.fcgi
                                Used with any pm_style.

                                Settings group for 'apache-like' pm style

                                        Sets the number of server processes created on startup.
                                        Used only when 'apache-like' pm_style is selected

                                        Sets the desired minimum number of idle server processes.
                                        Used only when 'apache-like' pm_style is selected

                                        Sets the desired maximum number of idle server processes.
                                        Used only when 'apache-like' pm_style is selected



                        The timeout (in seconds) for serving a single request after which the worker process will be terminated
                        Should be used when 'max_execution_time' ini option does not stop script execution for some reason
                        '0s' means 'off'

                        The timeout (in seconds) for serving of single request after which a php backtrace will be dumped to slow.log file
                        '0s' means 'off'


                        The log file for slow requests

                        Set open file desc rlimit

                        Set max core size rlimit

                        Chroot to this directory at the start, absolute path

                        Chdir to this directory at the start, absolute path

                        Redirect workers' stdout and stderr into main error log.
                        If not set, they will be redirected to /dev/null, according to FastCGI specs

                        How much requests each process should execute before respawn.
                        Useful to work around memory leaks in 3rd party libraries.
                        For endless request processing please specify 0
                        Equivalent to PHP_FCGI_MAX_REQUESTS

                        Comma separated list of ipv4 addresses of FastCGI clients that allowed to connect.
                        Equivalent to FCGI_WEB_SERVER_ADDRS environment in original php.fcgi (5.2.2+)
                        Makes sense only with AF_INET listening socket.

                        Pass environment variables like LD_LIBRARY_PATH
                        All $VARIABLEs are taken from current environment



Posted at Nginx Forum: http://forum.nginx.org/read.php?2,6245,6245#msg-6245

More information about the nginx mailing list