O nginx está rodando, mas não está servindo?

O nginx está rodando, mas não está servindo?

Tenho tentado configurar o nginx como proxy do jetty. Eu tenho um laptop executando o servidor Ubuntu. Agora fiz o jetty funcionar em localhost:8080 e ele serve a página inicial do aplicativo em http://192.168.1.5:8080/my-webapp-0.1.0-standalone/.

Eu configurei o nginx assim (Eu adaptei desta página):

server {
  listen 80;
  server_name nomilkfor.me;
  rewrite ^(.+?)/?$ http://nomilkfor.me$1 permanent;
}

server {
  listen 80;
  server_name www.nomilkfor.me;
  root /usr/share/nginx/html;

  location / {
    try_files $uri @my-webapp;
  }

  location @my-webapp {
    proxy_pass http://localhost:8080;
  }
}

E posso me conectar ao nginx da minha rede doméstica e vejo a tela de boas-vindas do nginx.

Eu também tentei$ sudo netstat -tanpl|grep nginx

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      3264/nginx: worker 

e vejo que o nginx está escutando na porta 80.

Mas quando tento carregar o nomilkfor.me, recebo o erro "O Chrome não conseguiu se conectar ao nomilkfor.me".

O que estou fazendo de errado?



EDITAR

Criei uma configuração muito simples, e esta também atende o index.htmlin /usr/share/nginx/em vez do aplicativo através do jetty:

server {
    listen 80;
    server_name nomilkfor.me;

    # access_log /var/log/nginx/localhost.access.log;

    location / {
        proxy_pass http://127.0.0.1:8080;
    }

    location /html { 
        root /usr/share/nginx/;
    }
}


EDITAR 2

Parece que o nginx está usando outro arquivo conf do que eu penso. Eu adicionei um erro de digitação ao arquivo conf /etc/nginx/sites-available/nomilkfor.me(removi uma chave de fechamento) e executei $ nginx -s reloade ele compilou sem erros e mostrou a página inicial do nginx no navegador. Pode haver outro arquivo conf em algum lugar? Existe uma maneira de descobrir qual arquivo conf que o nginx está usando?



EDITAR 3

ConformeComentário de PazisEu adicionei, rootmas não tenho certeza exatamente onde deveria estar ou o que deveria ser. Adicionei algumas sugestões. Qual deles está correto? /usr/share/nginx/htmlé onde eu tenho o index.html.

server {
    listen 80;
    server_name nomilkfor.me;
    # root /home/z/jetty/jetty-dist/webapps
      root /usr/share/nginx/html;

    location / {
        proxy_pass http://127.0.0.1:8080;
    }

    #location /html {
    #    root /usr/share/nginx/;
    }
}


EDITAR 4

Este é o meu arquivo conf do jetty. Está dentro/home/z/jetty/jetty-dist/jetty-distribution-9.1.0.v20131115/demo-base/webapps/my-webapp.xml

<Configure class="org.eclipse.jetty.webapp.WebAppContext">

  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  <!-- Required minimal context configuration :                        -->
  <!--  + contextPath                                                  -->
  <!--  + war OR resourceBase                                          -->
  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  <Set name="contextPath">/test</Set>
  <Set name="war"><Property name="jetty.webapps" default="."/>/my-webapp-0.1.0-standalone.war</Set>

Responder1

Você pode tentar os seguintes passos?

  1. Certifique-se de que o arquivo nginx.conf no diretório pai nginx tenha a diretiva include apontando para o arquivo padrão no diretório de sites disponíveis

  2. Se você precisar fazer proxy para outro serviço (por exemplo, jetty), use a opção upstream (no arquivo sites disponíveis/padrão) conforme compartilhado abaixo. Você pode consultar o upstream na seção do servidor.

Depois de ter a configuração básica funcionando, você pode verificar a opção de reescrita e se algo precisa ser feito para o nome do host. Espero que ajude.

Nginx.conf:

include /etc/nginx/sites-enabled/*;

No diretório de sites disponíveis (arquivo padrão):

upstream nomilkforme {  
        server 0.0.0.0:8080; ##nomilkforme running on 0.0.0.0:8080;
        keepalive 500;
}

server {
        listen       80;
        server_name  localhost;

        #access_log  logs/host.access.log  main;

        location / {
                proxy_redirect off;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header Host $http_host;
                proxy_set_header X-Nginx-Proxy true;
                proxy_set_header Connection "";
                proxy_http_version 1.1;
                proxy_pass http://nomilkforme
        }

Além disso, pode-se verificar o arquivo conf nginx (antes de recarregar/reiniciar) da seguinte forma: nginx -t -c /etc/nginx/nginx.conf

Atualizar: Você pode verificar se o jetty estava rodando em 0.0.0.0:8080 quando tentou a configuração do nginx (talvez confirme usando netstat). Além disso, você pode compartilhar os logs de acesso/erro do nginx ao acessar o URL por meio do navegador?

informação relacionada