LEMP on CentOS 6 returns 404 errors

  • Posted February 28, 2014

I have created a CentOS 6.5 x64 droplet with LEMP installed as described here:

It is working fine, I have ported a sample CodeIgniter application ( under but when I try to click to any of the links it returns 404 error.

I also tried to install FUEL CMS but again it comes up with a 404 error where when on works fine.

Obviously it has to do with the nginx conf file but I have tried many options without luck!

The /etc/nginx/conf.d/default.conf file is:

server { listen 80; server_name;

location / {
    root   /usr/share/nginx/html;
    index index.php  index.html index.htm;

error_page  404              /404.html;
location = /404.html {
    root   /usr/share/nginx/html;

error_page   500 502 503 504  /50x.html;
location = /50x.html {
    root   /usr/share/nginx/html;

# pass the PHP scripts to FastCGI server 
location ~ \.php$ {
    root           /usr/share/nginx/html;
    fastcgi_pass    unix:/tmp/php5-fpm.sock;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
    include        fastcgi_params;



Submit an 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.

It’s gone! <br>I am installing LAMP along with varnish.

<blockquote>Kamal your suggestion returns a “No file is specified.” </blockquote>Good, that means we’re getting there :] <br> <br>If you haven’t wiped your droplet yet, can you pastebin the output of <pre>tail -30 /var/log/nginx/error.log</pre>

Correction: I couldn’t…

I could make it work and in the end I am rebuilding the droplet and I will install LAMP!

The framework is already on debug mode fatih. But it is not the framework that returns a 404 error, I think. <br>Kamal your suggestion returns a “No file is specified.” <br>

Try adding <code>try_files $uri $uri/ /index.php;</code> after <code>index index.php index.html index.htm; </code>.

you should enable debug mode (development mode) in your php framework and see why that happens