Hola, soy un novato en nginx, intenté configurarlo en mi servidor (que ejecuta Ubuntu 4), que ya tiene apache ejecutándose.
Entonces, después de apt-get install
eso, intenté iniciar nginx. Entonces recibo el siguiente mensaje:
Starting nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
configuration file /etc/nginx/nginx.conf test is successful
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
Eso tiene sentido ya que Apache está utilizando el puerto 80.
Luego traté de modificar nginx.conf
, hago referencia a algunos artículos, así que lo cambié así:
server {
listen 8080;
location / {
proxy_pass http://xx.xx.xx.xx:9500;
proxy_set_header Host $host:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Via "nginx";
}
Después de guardar esto e intentar iniciar nginx nuevamente, sigo teniendo el mismo error que anteriormente. Realmente no puedo encontrar una publicación relacionada sobre esto, ¿podría alguna buena gente aclarar algo?
Gracias por adelantado :)
================================================== =======================
Debería publicar todo el contenido en conf aquí:
user www-data;
worker_processes 1;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
# multi_accept on;
}
http {
include /etc/nginx/mime.types;
access_log /var/log/nginx/access.log;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
tcp_nodelay on;
gzip on;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
server {
listen 81;
location / {
proxy_pass http://94.143.9.34:9500;
proxy_set_header Host $host:81;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Via "nginx";
}
}
}
mail {
See sample authentication script at:
http://wiki.nginx.org/NginxImapAuthenticateWithApachePhpScript
auth_http localhost/auth.php;
pop3_capabilities "TOP" "USER";
imap_capabilities "IMAP4rev1" "UIDPLUS";
server {
listen localhost:110;
protocol pop3;
proxy on;
}
server {
listen localhost:143;
protocol imap;
proxy on;
}
}
Básicamente, no cambié nada excepto agregar la parte del servidor.
Respuestas:
Tienes que ir a la
/etc/nginx/sites-enabled/
y si esta es la configuración por defecto, entonces debe haber un archivo por su nombre:default
.Edite ese archivo definiendo su puerto deseado; En el fragmento a continuación, estamos sirviendo la instancia de Nginx en el puerto 81.
Para iniciar el servidor, ejecute la línea de comando a continuación;
Ahora puede acceder a su aplicación en el puerto 81 (para localhost, http: // localhost: 81 ).
fuente
sudo nginx -s reload
sudo service nginx restart
netstat
, todavía hay algo escuchando en el puerto 80. ¿Tienes alguna idea?/etc/nginx/sites-available directory
Deberá cambiar el puerto de configuración de Apache o Nginx. Después de hacer esto, deberá reiniciar los servidores reconfigurados, utilizando el comando 'servicio' que utilizó.
apache
Editar
y cambie el 80 en la siguiente línea a algo diferente:
Si solo cambia el puerto o agrega más puertos aquí, es probable que también tenga que cambiar la instrucción VirtualHost en
y cambie el 80 en la siguiente línea a algo diferente:
luego reiniciar por:
Nginx
Editar
y cambia el 80 en la siguiente línea:
luego reiniciar por:
fuente
Siga esto: abra su archivo de configuración
Cambie el número de puerto en el que está escuchando;
Agregar una regla a iptables
Reiniciar IPtables
Reinicie el servidor nginx
Acceda a los archivos del servidor nginx en el puerto 81
fuente
Si está en Windows, entonces la configuración del servidor relacionada con el puerto está presente en el archivo nginx.conf en <nginx installation path> / conf folder.
Cambie el número de puerto y reinicie la instancia.
fuente
Si tiene este problema al usar Docker, asegúrese de asignar los números de puerto correctos. Si asigna el puerto 81:80 cuando ejecuta docker (o a través de docker-compose.yml), su nginx debe escuchar en el puerto 80 no 81, porque docker ya hace la asignación.
Pasé bastante tiempo sobre este tema, así que espero que pueda ser de ayuda para futuros googlers.
fuente