linux - uso - nginx no escucha el puerto 80
ver puertos abiertos ubuntu (6)
¿Ha comprobado si su binario nginx realmente existe? por favor verifica si
#whereis nginx
genera la ruta binaria y verifica esta ruta con su script de inicio desde /etc/init.d/nginx. p.ej
DAEMON=/usr/sbin/nginx
(En mi script init "test -x $ DAEMON || exit 0" es invocado y en cualquier caso este script no devolvió nada - mi binario estaba completamente ausente)
Acabo de instalar un servidor Ubuntu 12.04 y nginx 1.2.7, eliminé el default
de los sitios habilitados y agregué mi propio archivo a los sites-available
y el enlace simbólico a los sites-enabled
. Luego reinició nginx.
Problema: Sin embargo, ir a la URL no carga el sitio. netstat -nlp | grep nginx
netstat -nlp | grep nginx
y netstat -nlp | grep 80
netstat -nlp | grep 80
ambos no devuelve resultados! lsof -i :80
tampoco devuelve nada. Una dig
desde otro servidor devuelve la dirección IP correcta, por lo que no debería ser un problema de DNS. Pude conectarme a Apache, que ahora he detenido su servicio. Los registros de nginx tampoco muestran nada.
¿Cómo debo solucionar este problema?
/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;
}
}
Me encontré con el mismo problema, recibí el Failed to load resource: net::ERR_CONNECTION_REFUSED
cuando me Failed to load resource: net::ERR_CONNECTION_REFUSED
través de HTTP, pero fue correcto a través de HTTPS. Ran netstat -tulpn
y saw nginx no vinculan al puerto 80 para IPv4. Hecho todo lo descrito aquí. Resultó ser algo muy estúpido:
Asegúrese de que el archivo de sites-available
con el default_server
esté realmente habilitado.
Espero que esto haya salvado a algún otro idiota por ahí en algún momento.
Probablemente estés vinculando nginx al puerto 80 dos veces. ¿Es ese tu archivo de configuración completo? ¿No tienes otra declaración escuchando el puerto 80?
Si sus registros guardan silencio sobre el problema, es posible que no incluya el directorio habilitado para sitios. Una manera simple de saber que el sitio se está cargando es establecer la ruta del registro de error / acceso dentro del bloque del servidor a una ruta única, volver a cargar nginx y verificar si se crearon los archivos.
Asegúrese de que la siguiente directiva include exista dentro del contexto http en /etc/nginx/nginx.conf.
http {
...
include /etc/nginx/sites-enabled/*;
}
Tuve el mismo problema, la solución fue que no había enlazado mi archivo siteconf correctamente. Intenta ejecutar vim /etc/nginx/sites-enabled/mysite.com
puedes acceder? Obtenía "Permiso denegado".
Si no se ejecuta:
rm /etc/nginx/sites-enabled/mysite.com
ln -s /etc/nginx/sites-available/mysite.com /etc/nginx/sites-enabled/mysite.com
Un punto y coma ;
falta en /etc/nginx/nginx.conf
por ejemplo en la línea antes de include /etc/nginx/servers-enabled/*;
puede omitir esta instrucción y la verificación nginx -t
tendrá éxito de todos modos.
Así que simplemente verifique que todas las instrucciones en /etc/nginx/nginx.conf
hayan terminado con un punto y coma ;
.