Как включить keep-alive на php-fpm с помощью nginx? - PullRequest
0 голосов
/ 07 ноября 2018

Я столкнулся с проблемой при настройке keep-alive с php-fpm на сервере nginx. Keep-alive хорошо работает с обычными html-страницами, поскольку по умолчанию keep-alive тайм-аут установлен в файле nginx.conf. Но если я настрою php-fpm для запуска php-файлов на nginx, keep-alive не будет работать. Я хочу включить это, чтобы повторно использовать соединения.

Как мне решить эту проблему?

Ниже приведен код блока моего сервера, настроенный в файле nginx.conf.

  server {
    listen       80 default_server;
    listen       [::]:80 default_server;
    server_name  _;
    root         /usr/share/nginx/html;
    index index.php index.html index.htm;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location / {
        try_files $uri $uri/ =404;
    }

    error_page 404 /404.html;
        location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }

    location ~* \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_keep_conn on;
    }
  }

Ниже приведена ссылка, по которой кто-то сталкивался с подобной проблемой, приведенной в описании, но теперь ее решение.

php-fpm и keep-alive

Я попытался добавить блок восходящего потока внутри блока http {}, как показано ниже, но все еще безуспешно.

upstream{
    server localhost;
    keepalive 32;
}   
...