web-dev-qa-db-ja.com

Digital OceanのBad Gateway 502(nginx + php7)

サイトを公開しようとすると、数分後に502 Bad Gatewayエラーが発生し、default-error.logファイルでこのエラーが何度も発生します(ファイルサイズは360MBでした。):

2016/02/03 14:57:28 [error] 1044#1044: *7248 connect() to unix:/var/run/php/php7.0-fpm.sock failed (11: Resource temporarily unavailable) while connecting to upstream, client: 123.456.78.90, server: default, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php7.0-fpm.sock:", Host: "domain.com"

サーバー構成

  • OS:Ubuntu 14.04.3 LTS(GNU/Linux 3.13.0-71-generic x86_64)
  • Nginxバージョン:1.9.10
  • PHPバージョンPHP 7.0.2-4 + deb.sury.org〜trusty + 1(cli)(NTS)
  • (私のサーバーはDigital Oceanでホストされており、4GBのRAMがあります)。

nginx.conf

server {
    listen 80 default_server;
    server_name default;
    root /home/forge/default/public;

    # FORGE SSL (DO NOT REMOVE!)
    include logjam_fix;
    # ssl_certificate;
    # ssl_certificate_key;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

    index index.html index.htm index.php;

    charset utf-8;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    access_log on;
    error_log  /var/log/nginx/default-error.log error;

    error_page 404 /index.php;

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}

不足しているデータはありますか?

3
Eliya Cohen

開いているファイルの最大数を増やしてみてください:

root@server $ sysctl fs.file-max=3000000000

編集:

通常、/etc/sysctl.confに行を追加することで、これらの変更を永続的にすることができます。

fs.file-max=3000000000
1
K. Pande