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

时间:2013-10-22 06:37:51

标签: nginx

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

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

我已阅读nginx文档和this blog post。但我认为我必须遗漏一些东西。

我已添加到我的nginx.conf:

include /Users/iwein/Sites/conf/*.conf;

然后在网站中添加example.conf的配置:

server {
  listen 80;
  server_name local.example.com;
…

example2.conf

server {
  listen 80;
  server_name local.example2.com;
…

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

更新

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

1 个答案:

答案 0 :(得分:1)

显然,nginx并不喜欢我的服务器名称格式。如果我删除本地'子域似乎工作得更好。我现在正在使用example.devexample2.dev,但问题已经消失。