502 Bad Gateway for Laravel 5.4 with nginx and php7.0-fpm in Ubuntu
22,774
Solution 1
Updating one line with default php based config worked,
server {
listen 80; ## listen for ipv4; this line is default and implied
#listen [::]:80 default ipv6only=on; ## listen for ipv6
root /var/www/html/laravel/public;
index index.html index.htm index.php;
# Make site accessible from http://localhost/
server_name localhost;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Here changed try_files $uri $uri/ =404;
to try_files $uri $uri/ /index.php?$query_string;
Solution 2
First install: sudo apt install php-fpm
Then check /etc/php/7.4/fpm
, Make sure your version of php7.0-fpm.sock, php7.4-fpm.sock or 7.x
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
Comments
-
Anshad Vattapoyil almost 2 years
I have my
Laravel 5.4
app setup inUbuntu 16.04
server withnginx
andphp7.0-fpm
, it gives502 Bad Gateway
Nginx virtualhost config,
server { listen 80; ## listen for ipv4; this line is default and implied #listen [::]:80 default ipv6only=on; ## listen for ipv6 root /var/www/html/laravel/public; index index.php index.html; # Make site accessible from http://localhost/ server_name localhost; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { try_files $uri /index.php =404; include fastcgi_params; fastcgi_keep_conn on; fastcgi_index index.php; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_intercept_errors on; fastcgi_pass unix:/var/run/php7.0-fpm.sock; } }
Tried the following but still not working,
Changed
fastcgi_pass unix:/var/run/php7.0-fpm.sock;
tofastcgi_pass 127.0.0.1:9000;
Changed
try_files $uri $uri/ /index.php?$query_string;
totry_files $uri $uri/ /index.php$is_args$args;
Restarted service after each change,
service nginx restart service php7.0-fpm restart
I can access only the main route with this config,
server { listen 80; ## listen for ipv4; this line is default and implied #listen [::]:80 default ipv6only=on; ## listen for ipv6 root /var/www/html/laravel/public; index index.html index.htm index.php; # Make site accessible from http://localhost/ server_name localhost; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.0-fpm.sock; } location ~ /\.ht { deny all; } }
-
Yevgeniy Afanasyev over 5 yearsI have an error message,
nginx: [emerg] open() "/etc/nginx/snippets/fastcgi-php.conf" failed (2: No such file or directory) in /etc/nginx/conf.d/default.conf:16
please help.