How do I remove "Welcome to nginx!" from website homepage?

July 12, 2018 600 views
Nginx WordPress Let's Encrypt Initial Server Setup Ubuntu 16.04

Hi everyone, I used one-click wordpress and followed this tutorial to setup my site. I had access to wordpress, great! Then I followed this tutorial to setup Let's Encrypt SSL. During that process, I installed nginx on Ubunto 16.04 using this tutorial. I was able to install Let's Encrypt SSL successful!

However, I am no longer able to access wp-admin, or any part of my site for that matter, all I get is "Welcome to nginx!." How can I remove this and get access to wordpress again? I think it might have to do with root /usr/share/nginx/html vs root /var/www/html.

Here's my server info:


#
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# http://wiki.nginx.org/Pitfalls
# http://wiki.nginx.org/QuickStart
# http://wiki.nginx.org/Configuration
#
# Generally, you will want to move this file somewhere, and start with a clean
# file but keep this around for reference. Or just disable in sites-enabled.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##

# Default server configuration
#
server {
        listen 80 default_server;
        listen [::]:80 default_server;

        # 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
        #
        # 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;

        # Add index.php to the list if you are using PHP
        index index.html index.htm index.nginx-debian.html;

        server_name _;

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

        # 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;
        #}

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


    listen [::]:443 ssl ipv6only=on; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/josemota.org/fullchain.pem; # managed$
    ssl_certificate_key /etc/letsencrypt/live/josemota.org/privkey.pem; # manag$
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot



}
server {
    if ($host = www.josemota.org) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    if ($host = josemota.org) {
        return 301 https://$host$request_uri;

}
    listen [::]:443 ssl ipv6only=on; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/josemota.org/fullchain.pem; # managed$
    ssl_certificate_key /etc/letsencrypt/live/josemota.org/privkey.pem; # manag$
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot



}
server {
    if ($host = www.josemota.org) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    if ($host = josemota.org) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


        listen 80 ;
        listen [::]:80 ;
    server_name www.josemota.org josemota.org;
    return 404; # managed by Certbot








3 comments
  • I had someone reporting about Welcome to nginx! error on my forum just few days ago. Turned out they made few mistakes while following the tutorials.

    Have you encountered any errors while executing commands?

  • In the beginning I was encountering nginx not running ("Active: Failed"), however, it is all running fine now ("Active: Running"). Other than that, no errors.

    ● nginx.service - A high performance web server and a reverse proxy server
       Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
       ****Active: failed**** (Result: exit-code) since Sat 2018-06-16 00:45:09 UTC; 7ms ago
      Process: 23502 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=1/FAILURE)
      Process: 23496 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    
  • What does nginx error log say?

    tail -f /var/log/nginx/error.log
    
3 Answers

Were you using Apache as your HTTP server before? If so, you have two options:

  1. Configure nginx to serve PHP requests (more difficult).
  2. Configre apache to bind to a different port (e.g. 8080) and then use nginx reverse proxy to serve the requests from Apache.

Having the exact same issue. Ticket into support :(

Have another answer? Share your knowledge.