Hello. Followed the tutorial https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-ubuntu-12-04
Wall went well.
But when i try to run my project i get(nginx error.log) *16 rewrite or internal redirection cycle while internally redirecting to “/index.html”
my server block:
server { listen 80;
root /var/www/project/public;
index index.php index.html index.htm;
server_name myip;
location / {
try_files $uri $uri/ /index.html;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www/project/public;
}
# pass the PHP scripts to FastCGI server listening on the php-fpm socket
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
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!
Heya,
Your issue seems to be related to a redirection loop in your NGINX configuration. Let’s try to address it.
You have this block in your server configuration:
location / {
try_files $uri $uri/ /index.html;
}
What it does is it tries to serve the request URI as a file if it exists ($uri
), then as a directory if it exists ($uri/
), and then falls back to /index.html
if neither exists.
If /index.html
does not exist, NGINX will keep trying to redirect to /index.html
because of the try_files
directive, leading to the redirection loop.
The solution to this issue depends on your application. If you are running a PHP application, you probably want to redirect to /index.php
instead of /index.html
:
location / {
try_files $uri $uri/ /index.php;
}
If you are serving a static website and /index.html
should exist but doesn’t, you need to check that the file is present in the /var/www/project/public
directory and that NGINX has sufficient permissions to read the file.
Remember to restart or reload the NGINX server after making changes to the configuration:
or
sudo systemctl restart nginx
Kindly check if this file is available or not. /var/run/php5-fpm.sock And restart the php-fpm server
No idea what are you trying, but did you just made a rewrite to fix the loop?
Also whats the point of this with an html file?
location / {
try_files $uri $uri/ /index.html;
}
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Full documentation for every DigitalOcean product.
The Wave has everything you need to know about building a business, from raising funding to marketing your product.
Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.
New accounts only. By submitting your email you agree to our Privacy Policy
Scale up as you grow — whether you're running one virtual machine or ten thousand.
Sign up and get $200 in credit for your first 60 days with DigitalOcean.*
*This promotional offer applies to new accounts only.