天天看點

Nginx Errors: upstream response cache errorNginx Errors

Nginx Errors

upstream response cache error

*2470578 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/6/10/0000010106 while reading upstream

To fix

vim /etc/nginx/nginx.conf
# in http part of nginx.conf
proxy_buffer_size 512k;
proxy_buffers 8 512k;
proxy_busy_buffers_size 512k;
proxy_temp_file_write_size 512k;      

client request body cache error

*2445185 a client request body is buffered to a temporary file /var/cache/nginx/client_temp/0000010019

To fix

## in http part of nginx.conf
client_max_body_size  5M;
client_body_buffer_size  1M;      

client send too large body size error (

nginx 413

)

*1245147 client intended to send too large body: 15152741 bytes

To fix

## in server location part 
client_max_body_size  30M;      

PHP fastcgi cache error

*2502029 an upstream response is buffered to a temporary file /var/cache/nginx/fastcgi_temp/3/11/0000010113 while reading upstream

To fix

fastcgi_buffer_size 128k;
fastcgi_buffers 8 128k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;      

PHP fastcgi path_info error

*1280448 using uninitialized "path_info" variable

To fix

## refer to https://www.nginx.com/resources/wiki/start/topics/examples/phpfcgi/#

                
## fastcgi_param
## vim /etc/nginx/fastcgi_param
    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_FILENAME         $document_root$fastcgi_script_name;
    fastcgi_param   SCRIPT_NAME             $fastcgi_script_name;
    fastcgi_param   PATH_INFO               $fastcgi_path_info;
    fastcgi_param       PATH_TRANSLATED         $document_root$fastcgi_path_info;
    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/1.1;
    fastcgi_param   SERVER_SOFTWARE         nginx/$nginx_version;
    
    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   HTTPS                   $https;
    
    # PHP only, required if PHP was built with --enable-force-cgi-redirect
    fastcgi_param   REDIRECT_STATUS         200;

## vim /etc/nginx/conf.d/server1.conf
    location ~ [^/]\.php(/|$) {
        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        if (!-f $document_root$fastcgi_script_name) {
            return 404;
        }
    
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        include fastcgi_params;
    }      

[emerg] could not build the server_names_hash...

開始使用nginx隻有一個虛拟主機,預設server_name 會使用 localhost, 今天配置nginx的server_name是一個正式存在的域名的時候,報錯如下:
[email protected]/0 $ nginx -t
nginx: [emerg] could not build the server_names_hash, you should increase server_names_hash_bucket_size: 32
nginx: configuration file /etc/nginx/nginx.conf test failed      

How to fix

在nginx的配置檔案nginx.conf的http段添加如下配置:

# vi /etc/nginx/nginx.conf
...
http {
        ...
        server_names_hash_max_size 512;
        server_names_hash_bucket_size 128;
        ...
}
...

[email protected]/0 $ nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful      

nginx官方對

server_name

的說明請參考 連結

執行個體配置:

cat /etc/nginx/nginx.conf

client_max_body_size 100M;

client_body_buffer_size 128k;

proxy_buffers 8 512k;

proxy_buffer_size 512k;

proxy_busy_buffers_size 512k;

proxy_temp_file_write_size 512k;

轉載于:https://www.cnblogs.com/weifeng1463/p/9194909.html