总有些稀奇古怪的东西想放到主机挂着。比如想挂两个小站到主机。

准备好多个网站应用和域名

假设 网站(应用) 1 的本地端口是4000,想要配置域名 domain-eg1.com;网站2 的本地端口是5000,想要配置域名 domain-eg2.com

docker镜像比较方便部署,而且可以保证运行环境的一致性。可以部署多个不同docker镜像,暴露不同的端口。

nginx配置

cd /etc/nginx/sites-available
sudo vi default

其实就是写两个配置,都监听80端口,然后转发流量到相应端口。

server {
  listen 80;
  server_name domain-eg1.com;
  location / {
    proxy_pass http://127.0.0.1:4000;
  }
}

server {
  listen 80;
  server_name domain-eg2.com;
  location / {
    proxy_pass http://127.0.0.1:5000;
  }
}

重启nginx(或者重新加载配置)

sudo /etc/init.d/nginx stop
sudo /etc/init.d/nginx start

或者用 sudo nginx -s reload 更平滑地切换配置。

这样,访问 domain-eg1.com 的请求将转发到端口4000, 访问domain-eg2.com 的请求将转发到端口5000,由不同的应用进行响应处理。