ubuntu – nginx正在运行但没有服务?

前端之家收集整理的这篇文章主要介绍了ubuntu – nginx正在运行但没有服务?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在尝试将Nginx设置为jetty的代理.我有一台笔记本电脑运行ubuntu服务器.现在我让jetty工作在localhost:8080,它在http://192.168.1.5:8080/my-webapp-0.1.0-standalone/上提供应用程序的主页.

我像这样配置了Nginx(I adapted it from this page):

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;
  }
}

我可以从家庭网络连接到Nginx,我看到了Nginx欢迎屏幕.

我也试过$sudo netstat -tanpl | grep Nginx

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

我看到Nginx正在端口80上侦听.

但是当我尝试加载nomilkfor.me时,我得到“Chrome无法连接到nomilkfor.me”错误.

我究竟做错了什么?

编辑

我创建了一个非常简单的配置,这个也通过jetty服务于/usr/share / Nginx /中的index.html而不是应用程序:

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/;
    }
}

编辑2

似乎Nginx正在使用另一个conf文件,而不是我想的.我在conf文件/etc/Nginx/sites-available/nomilkfor.me中添加了一个拼写错误(我删除了一个结束大括号)并运行了$Nginx -s reload并且编译时没有错误并在浏览器上显示Nginx启动页面.某处可以有另一个conf文件吗?有没有办法找到Nginx使用的conf文件

编辑3

根据Pazis comment添加了root但不确定它应该在哪里或它应该是什么.我补充了一些建议.哪一个是正确的? /usr/share / Nginx / html是我拥有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/;
    }
}

编辑4

这是我的码头配置文件.它位于/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>
你能尝试以下步骤吗?

>确保父Nginx目录中的Nginx.conf文件具有指向sites-available目录中的默认文件的include指令
>如果您需要代理其他服务(例如jetty),请使用下面共享的上游选项(在sites-available / default文件中).您可以参考服务器部分的上游.

一旦基本配置工作,您可以检查重写选项以及是否需要对主机名执行任何操作.希望能帮助到你.

Nginx.conf:

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

在sites-available目录(默认文件)中:

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
        }

此外,可以检查Nginx conf文件(重新加载/重新启动之前),如下所示:
Nginx -t -c /etc/Nginx/Nginx.conf

更新:当你尝试使用Nginx配置时(或许使用netstat确认),你可以检查jetty是否在0.0.0.0:8080上运行.此外,当您通过浏览器访问URL时,是否可以从Nginx共享访问/错误日志?

猜你在找的Ubuntu相关文章