Scale up as you grow — whether you're running one virtual machine or ten thousand.

From GPU-powered inference and Kubernetes to managed databases and storage, get everything you need to build, scale, and deploy intelligent applications.

This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.
Heya all,
The Nginx configuration looks correct. However, there are a few possibilities why PHP files might be downloading instead of being executed:
Incorrect FastCGI params: The FastCGI parameters specified in your fastcgi_param directive might not be correct, resulting in the PHP files not being passed correctly to PHP-FPM.
Incorrect file permissions or ownership: Ensure the Nginx user (www-data or nginx typically) has the correct permissions to access the php7.2-fpm.sock file and the PHP files in your web directory.
The PHP-FPM service isn’t running: Verify that the PHP-FPM service is running correctly. You can do this by running systemctl status php7.2-fpm or service php7.2-fpm status, depending on your system.
Incorrect MIME type for PHP files: Ensure that Nginx is serving PHP files with the correct MIME type. This is typically text/html.
Try_files directive issue: In your location ~ \.php$ block, try_files $uri $uri/ ; might be causing problems. This could be causing Nginx to try and serve a directory instead of passing the request to PHP-FPM. Change it to try_files $uri =404;.
Mismatch in PHP versions: Make sure that the PHP version that your PHP-FPM is running is the same as the one Nginx is configured to use.
After making changes, always remember to restart the Nginx and PHP-FPM services for the changes to take effect. You can do this with systemctl restart nginx and systemctl restart php7.2-fpm or service nginx restart and service php7.2-fpm restart depending on your system.
If anyone else stumbles upon this and it’s encountering problems, checking the Nginx and PHP-FPM error logs might provide more insight into what’s going wrong.
I’m not sure what is wrong with yours, but this worked for me when I was having that problem:
server {
server_name my-domain.com;
root /usr/share/nginx/html;
location = favicon.ico { access_log off; log_not_found off; }
index index.php;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
NOTE: I left out the listen statements in this example since mine is using port 443 (for HTTPS). This is the relevant part for what you are trying to solve.
Hey friend,
From reviewing other situations this is what I pulled together, worth trying to see if it helps:
Beyond that maybe just going over this tutorial as a reference and making sure you can’t find anything out of place: https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-in-ubuntu-16-04
Because, frankly, I can’t see the cause clearly either.
Jarland