nginx reverse proxy not working



  • I got this error line

    ln: failed to create symbolic link ‘./domainname.com’: 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.

    http://domainname.com:4567 worked

    but http://domainname.com 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.
    # 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 php5-cgi alone:
            #       fastcgi_pass 127.0.0.1:9000;
            #       # 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 example.com
    #
    # 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 example.com;
    #
    #       root /var/www/example.com;
    #       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 "domainname.com" on 0.0.0.0:80, 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!


Log in to reply
 

Suggested Topics

  • 2
  • 1
  • 2
  • 2
  • 20
| |