nginx reverse proxy not working

  • I got this error line

    ln: failed to create symbolic link ‘./’: File exists (possibly because I've created this file before, with the same content)

    I did sudo service nginx reload and got this message reload: Unknown instance:

    So I tried start in place of reload, this message appeared nginx stop/pre-start, process 7332

    Yet my domain is not up. worked

    but returned an error page.

  • GNU/Linux Admin

    How did you install nginx? what OS?

  • I used sudo apt-get install nginx

    nginx version is 1.8.0-1

    Operating system is Ubuntu 14.04 x64

  • GNU/Linux Admin

    Your config file should be in /etc/nginx/sites-available. You should call the ln -s from /etc/nginx/sites-enabled.

    Use nginx -t to test configuration for syntax issues.

    I cannot debug your nginx not restarting properly.

  • @julian these are the errors i got

    /etc/nginx/sites-available$ sudo nginx -t
    nginx: [emerg] unknown directive "erver" in /etc/nginx/sites-enabled/default:1
    nginx: configuration file /etc/nginx/nginx.conf test failed

  • Plugin & Theme Dev

    Missing a "s" somewhere 😉

  • GNU/Linux Admin

    Yup, as @hek says, you've got erver when you want server. The error message tells you everything you need to know.

    Did you modify /etc/nginx/sites-available/default? I don't, really, my NodeBB config is in its own file...

  • I don't recall modifying that file.

    I've purged and reinstalled nginx before so I don't think what I've done before purging would matter.

    I did "sudo nano default" while in directory "/etc/nginx/sites-available/"

    I can't find any "erver" without an s in that file. Am I looking at the right file?

    Here's the content of that file.

    # 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.
    # 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:
            # 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;
            # 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
            #location ~ \.php$ {
            #       include snippets/fastcgi-php.conf;
            #       # With php5-cgi alone:
            #       fastcgi_pass;
            #       # With php5-fpm:
            #       fastcgi_pass unix:/var/run/php5-fpm.sock;
            # deny access to .htaccess files, if Apache's document root
            # concurs with nginx's one
            #location ~ /\.ht {
            #       deny all;
    # Virtual Host configuration for
    # You can move that to a different file under sites-available/ and symlink that
    # to sites-enabled/ to enable it.
    #server {
    #       listen 80;
    #       listen [::]:80;
    #       server_name;
    #       root /var/www/;
    #       index index.html;
    #       location / {
    #               try_files $uri $uri/ =404;
    #       }

  • Do you have another file in your sites-available folder? What about sites-enabled?

  • @a_5mith

    It turned out I was looking at the wrong default file, it's supposed to be in sites-enabled.

    I filled in the missing s, and ran sudo nginx -t and got the following message

    nginx: [warn] conflicting server name "" on, ignored
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful

    my site is still not up on the domain

    what is this conflict it's telling me?


    Edit: Ok, so I've removed all files in sites-enabled and sites-available. Started over. Created a file in sites-available again. Then ln -s it to sites-enabled.

    All [warn] lines disappeared. Configuration of nginx.conf was successful.

    Then I tried sudo service nginx reload. Got the same message: reload: Unknown instance: 😞


    Edit: I've rebooted my droplet. Reloading nginx was successful. My site is now up on the domain.

    Thanks guys!

Suggested Topics

| | |

© 2014 – 2022 NodeBB, Inc. — Made in Canada.