Nginx(用于静态文件)和Apache(用于dynamic内容)?

所以,我的整个应用程序运行在Apache上就好了。 不过,我想testing一下,如果我把所有的静态文件通过nginx,每秒的请求增加。

我发现这个线程︰https: //stackoverflow.com/questions/869001/how-to-serve-all-existing-static-files-directly-with-nginx-but-proxy-to-apache-t

但是我有几个问题。 我对nginx是完全陌生的,所以我不确定把configuration放在哪里。 (该文件位于/etc/nginx/nginx.conf,但我不知道是否只是将代码添加到底部或什么?)

另外,如何让两台服务器同时运行? 是因为他们都听港口80吗? 现在我必须阻止一个开始另一个,而且就我所知。

谢谢你的帮助。

如果他们位于不同的IP上,他们可以在同一个端口上。 或者他们可以在不同的端口使用相同的IP,而不是两者(也可以是不同的IP和不同的端口)。 如果多个IPscheme是不同的服务器,则需要多个IPscheme,但是可以在同一台服务器上使用多个IP。

我发誓我不想迷惑你:-)

您提供的链接中的位置指令将位于服务器指令内 (请注意,位置指令的文档中有“context:server”)。 如果您使用的是默认apt安装的最新Ubuntu版本,则可能需要在启用了站点的目录中编辑默认值。 例如(有点傻,因为它将所有东西都传递给Apache):

server { listen 80 default; access_log /var/log/nginx/localhost.access.log; location / { proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://localhost:2500; } } 

在这种情况下,我正在使用相同的服务器。 Nginx监听80,Apache Listens监听2500.您可以将DNS指向Nginx服务器的IP地址,因为这是通过代理服务器处理所有请求的地址。 基本上,从客户的angular度来看,他们只是跟Nginx服务器交谈。

我无法帮助nginxconfiguration,因为我自己还没有使用它,但是如果你看一下你链接到的问题中的configuration代码片段,你会看到Apache在8080端口上运行。这就是两者同时运行的关键 – 他们需要在不同的端口。 因为nginx是Apache的代理,所以用户永远不会看到后者在运行什么端口,也不需要。