Olá, sou iniciante no nginx, tentei configurá-lo no meu servidor (executando o Ubuntu 4), que já possui o apache em execução.
Então, depois apt-get install
disso, tentei iniciar o nginx. Então eu recebo a mensagem assim:
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)
Isso faz sentido, pois o Apache está usando a porta 80.
Então eu tentei modificar nginx.conf
, refiro alguns artigos, então mudei assim:
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";
}
Depois de salvar isso e tentar iniciar o nginx novamente, ainda recebo o mesmo erro que anteriormente. Eu realmente não consigo encontrar um post relacionado sobre isso, poderia alguém bom trazer alguma luz?
Desde já, obrigado :)
==================================================== =======================
Devo postar todo o conteúdo em conf aqui:
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;
}
}
Basicamente, não mudei nada, exceto adicionar a parte do servidor.
Respostas:
Você tem que ir ao
/etc/nginx/sites-enabled/
e se esta é a configuração padrão, então deve haver um arquivo pelo nome:default
.Edite esse arquivo definindo a porta desejada; no snippet abaixo, estamos servindo a instância Nginx na porta 81.
Para iniciar o servidor, execute a linha de comando abaixo;
Agora você pode acessar seu aplicativo na porta 81 (para localhost, http: // localhost: 81 ).
fonte
sudo nginx -s reload
sudo service nginx restart
netstat
, ainda há algo escutando na porta 80. Você tem alguma ideia?/etc/nginx/sites-available directory
Você precisará alterar a porta de configuração do Apache ou Nginx. Depois de fazer isso, você precisará reiniciar os servidores reconfigurados, usando o comando 'service' que você usou.
Apache
Editar
e altere o 80 na seguinte linha para algo diferente:
Se você apenas alterar a porta ou adicionar mais portas aqui, provavelmente também precisará alterar a instrução VirtualHost em
e altere o 80 na seguinte linha para algo diferente:
depois reinicie:
Nginx
Editar
e altere o 80 na seguinte linha:
depois reinicie:
fonte
Siga isto: Abra seu arquivo de configuração
Mude o número da porta na qual você está ouvindo;
Adicionar uma regra ao iptables
Reinicie as tabelas IP
Reinicie o servidor nginx
Acesse os arquivos do servidor nginx na porta 81
fonte
Se você estiver no Windows, as configurações do servidor relacionadas à porta abaixo estão presentes no arquivo nginx.conf na pasta <nginx installation path> / conf .
Mude o número da porta e reinicie a instância.
fonte
Se você estiver enfrentando esse problema ao usar o Docker, certifique-se de mapear os números de porta corretos. Se você mapear a porta 81:80 ao executar o docker (ou através do docker-compose.yml), seu nginx deverá escutar na porta 80 e não 81, porque o docker já faz o mapeamento.
Eu mesmo passei algum tempo com esse problema, então espero que ajude a futuros googlers.
fonte