PHP Application redirection cycle
your config of nginx, part for fastcgi
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000#location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_index index.php; include fastcgi_params; fastcgi_read_timeout 120;}
Your config tries to proxy php to unix socket, not to the 9000 port.
Should be fastcgi_pass unix:/var/run/php5-fpm.sock;
changed to fastcgi_pass 127.0.0.1:9000
Next. Try to watch php-fpm config, there you should find listening port.
And finally - if you are using docker - be sure, that all docker hosts are accessible from each other
UPD 1: Seems it can be also problem with .htaccess
- there are can be saved apache rules for specific host, for example - redirecting. PHP-FPM doesn't read that file and ignore it.
UPD 2: .htaccess
can be found in PHP web root folder (where your index.php is located)
So, finally the problem was the default.conf.
Using this question as guide to configure it i finally made it: Nginx doesn't server subfolder api application (php-fpm)
So my /etc/nginx/sites-enabled/default.conf end like this:
server { listen 80; ## listen for ipv4; this line is default and implied listen [::]:80 default ipv6only=on; ## listen for ipv6 root /usr/share/nginx/html; index index.php index.html index.htm; # Make site accessible from http://localhost/ #server_name localhost; # Disable sendfile as per https://docs.vagrantup.com/v2/synced-folders/virtualbox.html sendfile off; # Add stdout logging error_log /dev/stdout info; access_log /dev/stdout; location / { # First attempt to serve request as file, then # as directory, then fall back to index.html index index.php; try_files $uri $uri/ /index.php?$query_string; } location /sistema/ { index /server/index.php; try_files $uri /server/index.php/$uri; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php { fastcgi_split_path_info ^(.+?\.php)(/.*)$; fastcgi_pass unix:/var/run/php5-fpm.sock; include fastcgi_params; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_read_timeout 120; } location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ { expires 5d; } # deny access to . files, for security # location ~ /\. { log_not_found off; deny all; }
Im not very sure how this really works, so, its how i make it work but if anyone can explain this to me, i will be very grateful.