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

Posted May 22, 2018 2.1k views
NginxUbuntu 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:
    # Read up on ssl_ciphers to ensure a secure configuration.
    # See:
    # Read up on ssl_ciphers to ensure a secure configuration.
    # See:
    # 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;


   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
    location ~ \.php$ {
    #       include snippets/fastcgi-php.conf;
    #       # With php7.0-cgi alone:
    #       # 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!

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.

Submit an Answer
1 answer

I noticed that your configuration accepts connections for but not for 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 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