Nginx still displaying default index.html even though I've set up an server block in /sites-available + symlinked

May 22, 2018 222 views
Nginx Ubuntu 16.04

I've setup a server block file for a xenforo instance I'm setting up in /sites-available and symlinked to /sites-enabled..

All seems to be fine with that. Restarted Nginx and it's still displaying the default .html page.

Is anything else needed?

Here is the server block file in /sites-available:

Default server configuration

server {
listen 80;
#listen [::]:80;

    # SSL configuration
    #
    # listen 443 ssl default_server;
    # listen [::]:443 ssl default_server;
    #
    # Note: You should disable gzip for SSL traffic.
    # See: https://bugs.debian.org/773332
    #
    # Read up on ssl_ciphers to ensure a secure configuration.
    # See: https://bugs.debian.org/765782
    #
    # Read up on ssl_ciphers to ensure a secure configuration.
    # See: https://bugs.debian.org/765782
    #
    # Self signed certs generated by the ssl-cert package
    # Don't use them in a production server!
    #
    # include snippets/snakeoil.conf;

    root /var/www/html/xf_pluix;

    # Add index.php to the list if you are using PHP
    index index.php index.html;

    server_name     pluix.com;

   location / {
            # First attempt to serve request as file, then
            # as directory, then fall back to displaying a 404.
            try_files $uri $uri/ /index.php?$uri&$args;
    }

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
    #       include snippets/fastcgi-php.conf;
    #
    #       # With php7.0-cgi alone:
            fastcgi_pass 127.0.0.1:9000;
    #       # With php7.0-fpm:
    #       fastcgi_pass unix:/run/php/php7.0-fpm.sock;
            fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include         fastcgi_params;
    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #       deny all;
    #}

}

Thanks for any and all help!

1 Answer

I noticed that your configuration accepts connections for pluix.com but not for www.pluix.com. With the /etc/apache2/sites-enabled/default file in place anything that does not match your server_name will be handled by that default site definition.

You can either add the www.pluix.com name to your servername field, or if this is the only site you'll be hosting you can change it to `servername _;` which will match any name.

Be sure to restart Nginx after making your changes with:

service nginx restart
Have another answer? Share your knowledge.