Como iniciar o nginx via porta diferente (diferente de 80)

3

Oi eu sou um novato no nginx, tentei configurá-lo no meu servidor (executando o Ubuntu 4), que já tem o apache em execução.

Então, depois de eu apt-get install , 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 porque o Apache está usando a porta 80.

Depois tentei modificar nginx.conf , referenciei alguns artigos, então mudei assim:

   server {

        listen       8080;

        location / {
         proxy_pass  http://94.143.9.34: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 de antes. Eu não consigo encontrar um post relacionado sobre isso, será que alguma boa pessoa poderia esclarecer alguma coisa?

Eu deveria 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.

    
por Zhao Peng 31.05.2012 / 09:11

2 respostas

5

Parece que você deixou a configuração do servidor padrão na pasta sites_enabled .

O arquivo em questão tem um monte de linhas comentadas, mas nem todas são - a configuração padrão está emaranhada entre elas. Eu sugiro que você remova o arquivo inteiro (ou a primeira parte se todas as suas configurações estiverem no mesmo arquivo).

No entanto, se você não conseguir encontrá-lo, sugiro que você faça uma busca por 80. Ele deve estar nos arquivos de configuração do nginx em algum lugar.

    
por 31.05.2012 / 10:40
2

Estou usando o VMWare e tive os mesmos erros.

Eu removi minha configuração padrão dos sites_enabled, mas também os removi:

listen   [::]:80

... dos meus arquivos de configuração (anteriormente necessários para MacPorts). Não tenho certeza de qual porta o VMWare escuta, mas não gostou de 80!

    
por 28.11.2012 / 11:55

Tags