两个不同的部署在nginx上

我有两个应用程序需要使用相同的nginx服务器。

第一个应该在help.example.com下运行。 另一个,每个客户都有一个域名,例如foo.example.com和bar.example.com

我明白,Nginx的偏好较长的服务器名称,但我似乎无法find一个例子,将帮助我。

我试图使用两个nginx的conf文件,但我失败了。 这里是“规格”:

server { listen 80; server_name www.example.com.br example.com.br; root /opt/apps/gsa-web/src/; client_max_body_size 4G; location / { proxy_pass_header Server; proxy_set_header Host $http_host; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Scheme $scheme; proxy_connect_timeout 10; proxy_read_timeout 1800; proxy_pass http://localhost:8000/; proxy_intercept_errors on; } error_page 500 502 503 504 /media/50x.html; } 

help.conf

 server { listen 80; server_name www.help.example.com.br help.example.com.br; root /path-to-my-docs/docs_site/; client_max_body_size 4G; location / { } } 

为此,在相同的configuration文件中,您将拥有:

server { listen 80;

 server_name www.help.example.com.br help.example.com.br; root /path-to-my-docs/docs_site/; client_max_body_size 4G; location / { 

}和

server { listen 80;

 server_name *.example.com.br; # Notice the wildcard. root /opt/apps/gsa-web/src/; client_max_body_size 4G; location / { proxy_pass_header Server; proxy_set_header Host $http_host; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Scheme $scheme; proxy_connect_timeout 10; proxy_read_timeout 1800; proxy_pass http://localhost:8000/; proxy_intercept_errors on; } error_page 500 502 503 504 /media/50x.html; 

}

通配符将允许所有无助于redirect到configuration的子域。 进一步阅读: http : //nginx.org/en/docs/http/server_names.html#wildcard_names