1

I've been following the arts technica web served series which has been great at teaching me how to get an Nginx server established on a fresh Ubuntu 12.04 server.

I'm having a few problems however.

Initially after establishing the server over lan, going to 192.168.1.10 (the server address) would get me the default Nginx page.

Everything seemed to be going to plan, with the slight exception that changing the try files setting in /etc/nginx/sites-available/www to:

location / {
try_files $uri $uri/ =404;
}

failed to produce any change (i'd expected the default Nginx to change to 404 when i went to 192.168.1.10

Still i went on.

Now at some point something else seems to have gone wrong, and going to 192.168.1.10 just gets me a horrible unable to connect page:

Unable to connect

I thought I'd check that Nginx was running so checked on the server with:

ps -e | grep nginx

To my surprise this returned nothing where as before it had returned:

 1793 ?        00:00:00 nginx
 1794 ?        00:00:00 nginx
 1795 ?        00:00:00 nginx
 1796 ?        00:00:00 nginx
 1797 ?        00:00:00 nginx

I've tried running nginx as my user, with sudo and as root. It just keeps telling me:

nginx: [emerg] "keepalive_timeout" directive is duplicate in /etc/nginx/nginx.conf:26

Which means it's running, no? so where are my workers!?

Not sure if this is behind the sudden unable to connect problem, or if that's more to do with a mistake i inevitably made in the conf.d file or my www sites-available file.

Either way I'm not really sure how to begin troubleshooting to try and isolate and diagnose the problem... and googling 'nginx dun't work no more' isn't getting me too far...

Here's the dump from /etc/nginx/sites-available/www

code. # You may add here your
# server {
#   ...
# }
# statements for each of your virtual hosts to this 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.
##

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /usr/share/nginx/html;
    index index.html index.htm;

    # Make site accessible from http://localhost/
    server_name localhost;

    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        try_files $uri $uri/ =404;
        allow 192.168.1.4;
        allow 127.0.0.1;
        # Uncomment to enable naxsi on this location
        #include /etc/nginx/naxsi.rules
    }   

    location ~ \.php$ {
         try_files $uri =404;
         allow 192.168.1.0/10;
         allow 127.0.0.1;
         deny all;
             include fastcgi_params;
         fastcgi_pass php5-fpm-sock;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
         fastcgi_intercept_errors on;
     }

}

server {
    listen 443 ssl;
    root /usr/share/nginx/html;
    index index.html index.htm;

    server_name [myserver.co.uk];

    ssl on;
    ssl_certificate /etc/nginx/ssl/ssl-unified.crt;
    ssl_certificate_key /etc/nginx/ssl/ssl.key;
    ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:
        HIGH:!MD5:!aNULL:!EDH:!AESGCM;
    ssl_prefer_server_ciphers on;
    ssl_ecdh_curve secp521r1;

    location ~ \.php$ {
        try_files $uri =404;
            allow 192.168.1.0/24;
            allow 127.0.0.1;
            deny all;
            include fastcgi_params;
            fastcgi_pass php5-fpm-sock;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_intercept_errors on;
        fastcgi_param HTTPS on;
        }

}
    # Only for nginx-naxsi used with nginx-naxsi-ui : process denied requests
    location /RequestDenied {
        proxy_pass http://127.0.0.1:8080;    
    }

    error_page 404 /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #   fastcgi_split_path_info ^(.+\.php)(/.+)$;
    #   # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
    #
    #   # With php5-cgi alone:
    #   fastcgi_pass 127.0.0.1:9000;
    #   # With php5-fpm:
    #   fastcgi_pass unix:/var/run/php5-fpm.sock;
    #   fastcgi_index index.php;
    #   include fastcgi_params;
    #}

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


# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
#   listen 8000;
#   listen somename:8080;
#   server_name somename alias another.alias;
#   root html;
#   index index.html index.htm;
#
#   location / {
#       try_files $uri $uri/ =404;
#   }
#}


# HTTPS server
#
#server {
#   listen 443;
#   server_name localhost;
#
#   root html;
#   index index.html index.htm;
#
#   ssl on;
#   ssl_certificate cert.pem;
#   ssl_certificate_key cert.key;
#
#   ssl_session_timeout 5m;
#
#   ssl_protocols SSLv3 TLSv1;
#   ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
#   ssl_prefer_server_ciphers on;
#
#   location / {
#       try_files $uri $uri/ =404;
#   

}
#}

Any advice?

  • 1
    Show us the content of the /etc/nginx/sites-available/www file – Lucio Jan 10 '14 at 0:59
  • Might this have something to do with an over-zealots IP tables config? I followed this to secure my SSH Tutorial here – Huw Jan 12 '14 at 14:52

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.