如何使用nginx在同一端口上提供多个域

iwe*_*ein 8 nginx

对于开发,我想在不同的本地域上提供多个项目,所有这些都在端口80上.在我的hosts文件中,我将local.example.com指向localhost,对于local.example2.com也是如此.

现在我试图说服nginx为一个url提供示例资源,为另一个提供example2资源.

我已经阅读了nginx文档和这篇博客文章.但我认为我必须遗漏一些东西.

我已经添加到我的nginx.conf:

include /Users/iwein/Sites/conf/*.conf;
Run Code Online (Sandbox Code Playgroud)

然后在网站我添加配置,如example.conf:

server {
  listen 80;
  server_name local.example.com;
…
Run Code Online (Sandbox Code Playgroud)

并且example2.conf:

server {
  listen 80;
  server_name local.example2.com;
…
Run Code Online (Sandbox Code Playgroud)

现在奇怪的是,nginx似乎按字母顺序加载第一个配置,但在第二个URL上,它也提供来自第一个服务器定义的资源.Nginx似乎完全忽略了server_name.我该如何配置这个用例?

更新:

看来如果你在域名中只使用一个分隔符(例如example1.local),它就可以正常工作.我没有进一步追求这个,因为我有更好的事情要做,但这很奇怪.

iwe*_*ein 4

显然,nginx 不喜欢我的服务器名称的格式。如果我删除“本地”子域,它似乎会工作得更好。我现在正在使用example.devand example2.dev,问题就消失了。