在nginx上运行的Laravel站点出现502错误网关错误

时间:2016-07-01 19:31:10

标签: nginx laravel-5 bad-gateway

我的大部分页面都有效,但当我尝试访问我网站的一部分时,我收到了502 Bad Gateway错误。

我正在运行最新版本的Laravel,nginx和php5-fpm。我的服务器是AWS Ubuntu 14.04实例。

我检查nginx日志并获得以下错误

2016/07/01 19:06:29 [error] 1101#0: *8 recv() failed (104: Connection reset     by peer) while reading response header from upstream, client: [client IP here], server: [aws server IP here], request: "GET /get/request/here/build?active=talent HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "[server IP here]", referrer: "http://[server IP here]/admin?all=yes"

这是我的fpm / pool.d / www.conf文件(所有未编码的内容或多或少)

; Pool name
[www]

listen.owner = www-data
listen.group = www-data
;listen.mode = 0660

pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
;pm.process_idle_timeout = 10s;
; pm.max_requests = 500

chdir = /
catch_workers_output = yes

这是我的nginx / sites-available / default文件:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /var/www/laravelproject/public;
    index index.php index.html index.htm;

    server_name [server-ip-here];

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

    location ~ \.php$ {
        try_files $uri /index.php =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

验证fastcgi_params的位置

location ~ \.php$ {
    set $php_root /var/www/laravelproject/public;
    fastcgi_pass unix:/var/run/php5-fpm.sock; // switch back when verified 
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $php_root$fastcgi_script_name;
    include /etc/nginx/fastcgi_params; // adjust to your absolute path
}

答案 1 :(得分:1)

我在nginx配置中没有看到问题。

但是关于www.conf我发现你已经定义了监听器但没有定义监听器套接字。

所以试试这个:

[www]

user = www-data
group = www-data

listen = /var/run/php5-fpm.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0666

pm = ondemand
pm.max_children = 4
pm.process_idle_timeout = 10s
pm.max_requests = 32
chdir = /

php_admin_flag[display_errors] = on
php_admin_flag[log_errors] = off
php_admin_value[memory_limit] = 512M
php_admin_value[post_max_size] = 128M
php_admin_value[upload_max_filesize] = 128M