多个域名,比如两个域名,这两个域名其实共用一台服务器(意味着域名解析到同一个IP),一个域名为abc.com(可以是http://abc.com或者www.abc.com),另外一个域名为xyz.com(可以是http://xyz.com或者www.xyz.com)共同指向一台服务器,服务器上为abc.com和xyz.com提供服务的应用程序绑定的端口不同,比如:
localhost:1234 -> abc.com
localhost:5678 -> xyz.com
配置nginx的nginx.conf文件,使得在浏览器通过abc.com或xyz.com访问到不同“网站”(让访问者感觉这不是同一台服务器),其实,这种应用场景可以通过域名+端口的方式区分,让同一台服务器上的服务程序跑在不同端口上实现,但是,这样的话用户访问需要通过abc.com:端口1或xyz.com:端口2,让用户觉得有些异样,最好的方式是不要让用户加端口,直接通过abc.com或xyz.com访问,开发者需要做的是通过nginx共用一个80端口,分发到同一台服务器上不同端口的服务程序处理。
核心是配置nginx.conf实现:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
http{
server { listen 80; server_name abc.com;
location / { proxy_pass http://localhost:1234; } }
server { listen 80; server_name xyz.com;
location / { proxy_pass http://localhost:5678; } }
... } |