I am installing a website in a droplet (Digital Ocean). I have an issue for install NGINX with PHP properly. I did a tutorial https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-ubuntu-14-04 but when I try to run some .php files it's just downloading it...
for example... http://5.101.99.123/info.php
it's working but... If I go to the main http://5.101.99.123
it's downloading my index.php :/
Any idea?
-rw-r--r-- 1 agitar_user www-data 418 Jul 31 18:27 index.php
-rw-r--r-- 1 agitar_user www-data 21 Aug 31 11:20 info.php
My /etc/nginx/sites-available/default
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /var/www/html;
index index.html index.htm index.php;
# Make site accessible from http://localhost/
server_name agitarycompartir.com;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
## NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
#
# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
location / {
try_files $uri $uri/ =404;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
}
...
Other "locations" are commented on...
.
location some-regex-here {
. That regex and flags specify how the server should treat matching resources. The PHP location block that you show in your question instructs Nginx to apply those rules for every request/resource that matches. It sounds like PHP isn't falling into those rules. Assuming the file is being loaded at all, it makes sense that another location block is catching the PHP files before it makes it to the PHP block. (By the way, a quick way to test if the file is getting loaded or not is to make a syntax error and restart the server.) – Ardy