Random Instant 502 Bad Gateway Errors

TheCrach nginx-forum at nginx.us
Sat May 29 17:02:23 MSD 2010


I'm French and I've some problem with nginx 0.8.38 and PHP-FPM 5.3.0 with Suhosin patch :/
I've got random instant 502 Bad Gateway errors, generaly a refresh make the page works again but it's really anoying.

Nginx Config :
user www;
worker_processes 1;
daemon on;

error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;

worker_rlimit_nofile 32000;

events {
    worker_connections  4096;
    use epoll;

http {

    include       mime.types;
    default_type  text/plain;

    limit_zone http $binary_remote_addr 1m;
    limit_zone https $binary_remote_addr 1m;

    client_body_timeout 8;
    client_header_timeout 5;
    keepalive_timeout 5;
    keepalive_requests 10;
    send_timeout 8;

    client_max_body_size 512k;

    access_log off;
    error_log off;

    client_header_buffer_size    16k;
    large_client_header_buffers  16 16k;

    output_buffers   2 32k;
    postpone_output  1460;
    sendfile         on;
    tcp_nopush       on;
    tcp_nodelay      on;
    reset_timedout_connection on;

    ignore_invalid_headers on;
    autoindex on;
    msie_padding on;
    gzip  on;
    gzip_http_version 1.1;
    gzip_vary on;
    gzip_comp_level 6;
    gzip_proxied any;
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
    gzip_buffers 16 16k;
    gzip_disable “MSIE [1-6].(?!.*SV1)”;

      listen 80 default rcvbuf=8192 sndbuf=16384 backlog=65536;
      index  index.html index.htm index.php;
      root   /home/www/;

      limit_conn http 10;

      access_log off;

     location ~* \.(ico|css|js|gif|jpe?g|png)(\?[0-9]+)?$ {
      expires 3600;

     location ~ \.php(/|$) {
         include fastcgi_params;

     location ~ \.php5(/|$) {
         include fastcgi_params;

     location ~ \.php4(/|$) {
         include fastcgi_params;

     location /cache/status {
         stub_status on;
         access_log off;

Fastcgi params :

fastcgi_connect_timeout 5;
fastcgi_send_timeout 8;
fastcgi_buffer_size 512k;
fastcgi_buffers 64 64k;
fastcgi_busy_buffers_size 512k;
fastcgi_temp_file_write_size 512k;
fastcgi_ignore_client_abort on;
fastcgi_intercept_errors on;
fastcgi_read_timeout 45;

fastcgi_pass   unix:/tmp/php.socket;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME $document_root$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  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  GATEWAY_INTERFACE  CGI;
fastcgi_param  SERVER_SOFTWARE    RD;
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_param  REDIRECT_STATUS    200;

PHP-FPM conf :

<?xml version="1.0" ?>
	<section name="global_options">
		<value name="pid_file">/var/run/php5-fpm.pid</value>
		<value name="error_log">/var/log/php-fpm.log</value>
		<value name="log_level">warn</value>
		<value name="emergency_restart_threshold">60</value>
		<value name="emergency_restart_interval">1m</value>
		<value name="process_control_timeout">4s</value>
		<value name="daemonize">yes</value>

		<section name="pool">
			<value name="name">RD</value>
			<value name="listen_address">/tmp/php.socket</value>
			<value name="listen_options">
				<value name="backlog">-1</value>
				<value name="owner">www</value>
				<value name="group">www</value>
				<value name="mode">0666</value>

			<value name="php_defines">

			<value name="user">www</value>
			<value name="group">www</value>

			<value name="pm">
				<value name="style">static</value>
				<value name="max_children">150</value>
				<value name="apache_like">
					<value name="StartServers">25</value>
					<value name="MinSpareServers">5</value>
					<value name="MaxSpareServers">35</value>

			<value name="request_terminate_timeout">0s</value>
			<value name="request_slowlog_timeout">0s</value>
			<value name="slowlog">/var/log/php-fpm.log.slow</value>
			<value name="rlimit_files">1024</value>
			<value name="rlimit_core">0</value>
			<value name="chroot"></value>
			<value name="chdir"></value>
			<value name="catch_workers_output">yes</value>
			<value name="max_requests">65536</value>
			<value name="allowed_clients"></value>

			<value name="environment">
				<value name="HOSTNAME">$HOSTNAME</value>
				<value name="PATH">/usr/local/bin:/usr/bin:/bin</value>
				<value name="TMP">/tmp</value>
				<value name="TMPDIR">/tmp</value>
				<value name="TEMP">/tmp</value>
				<value name="OSTYPE">$OSTYPE</value>
				<value name="MACHTYPE">$MACHTYPE</value>
				<value name="MALLOC_CHECK_">2</value>

Server config :

Intel Corei5 (Lynnfield) 4x 2.66+ GHz 8 Mo L2 - FSB 1333 MHz
64 bits
8 Go DDR3
Intel SSD X25-M 2x 80 Go RAID 	0/1

If anyone have an idea :)

It's very strange because it's instant and random whereas it would be timedout all the time :/

Thank's in advance.

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

More information about the nginx mailing list