Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

nginx not listening to port 80

I've just installed a Ubuntu 12.04 server and nginx 1.2.7, removed default from sites-enabled and added my own file into sites-available and symlink at sites-enabled. Then restarted nginx.

Problem: However going to the URL does not load the site. netstat -nlp | grep nginx and netstat -nlp | grep 80 both returns no results! lsof -i :80 also returns nothing. A dig from another server returns the correct ip address so it shouldn't be a DNS problem. I was able to connect to apache which I have now stopped its service. nginx logs also show nothing.

How should I troubleshoot this problem?

/etc/nginx/site-available/mysite.com

server {     listen   80;     server_name www.mysite.com mysite.com *.mysite.com;     access_log /var/log/nginx/access.log;     error_log /var/log/nginx/error.log;     root /var/www/mysite/public;      index index.php index.html;      location / {         try_files $uri $uri/ /index.php?$args ;     }     location ~ \.php$ {         fastcgi_pass unix:/var/run/php5-fpm.sock;         fastcgi_index index.php;         include fastcgi_params;         fastcgi_read_timeout 300;     }  } 
like image 468
Nyxynyx Avatar asked Apr 15 '13 17:04

Nyxynyx


People also ask

Does Nginx use port 80?

By default, the Nginx HTTP server listens for inbound connections and connects to port 80, which is the default web port.

How do I get Nginx to listen on port 443?

To configure an HTTPS server, the ssl parameter must be enabled on listening sockets in the server block, and the locations of the server certificate and private key files should be specified: server { listen 443 ssl; server_name www.example.com; ssl_certificate www. example.com.


2 Answers

I had this same problem, the solution was that I had not symlinked my siteconf file correctly. Try running vim /etc/nginx/sites-enabled/mysite.com—can you get to it? I was getting "Permission Denied."

If not run:

rm /etc/nginx/sites-enabled/mysite.com ln -s /etc/nginx/sites-available/mysite.com /etc/nginx/sites-enabled/mysite.com 
like image 115
thcipriani Avatar answered Sep 29 '22 23:09

thcipriani


If your logs are silent on the issue, you may not be including the sites-enabled directory. One simple way to tell that the site is being loaded is to set the error/access log path within your server block to a unique path, reload nginx, and check if the files are created.

Ensure the following include directive exists within the http context in /etc/nginx/nginx.conf.

http {   ...   include /etc/nginx/sites-enabled/*; } 
like image 34
Patrick Avatar answered Sep 29 '22 22:09

Patrick