2016-07-01 3 views
0

Большая часть моей страницы работает, но когда я пытаюсь получить доступ к части своего сайта, я получаю ошибку 502 Bad Gateway.502 Ошибка Bad Gateway для сайта Laravel, работающего на nginx

Я использую последнюю версию 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/сайты-доступны/файл по умолчанию:

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; 
    } 
} 

Как я могу это исправить?

+0

Что происходит при запуске перезапуск службы Nginx? Кроме того, посмотрите на /var/log/nginx/error.log – dmitryro

+0

Он перезапустится чисто, а ошибка наверху - из журнала ошибок nginx –

ответ

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 
} 
+0

Итак, когда я поменялся на порт, он не работал вообще, получил плохой шлюз со страницы, которая работала до этого. –

+1

Похоже, вам нужен ваш fastcgi_params - он будет установлен в существующем месте, теперь вы можете проверить журнал и посмотреть. – dmitryro

+1

Кроме того, попробуйте прокомментировать строку прослушать [:]: 80 default_server ipv6only = on; и убедитесь, что только один сервер использует порт 80 - вы можете видеть из ps -ef или ps aux, что происходит с процессами – dmitryro

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