20122915454.jpg

最近需要在服务器上搭建两个站点,需求如下:

1、2个独立站点

2、2个独立域名

3、共用mongodb

在网上查了下资料,发现Nginx可以很好的解决问题,于是尝试了一下,终于成功了,非常简单。具体步骤如下。


由于我是nodejs的程序,所以两个站点(a.com,b.com)设置了不同的端口号,express框架可以在 www 文件中设置:

/**
 * Get port from environment and store in Express.
 */

var port = normalizePort(process.env.PORT || '8080');
app.set('port', port);

/**
 * Create HTTP server.
 */

我设置的两个站点端口号分别为 8080 和 3000


下载 Nginx,解压后得到如下文件


QQ截图20150708204701.png


接下来打开conf 文件夹,在里面新建文件夹 vhosts ,并分别建立两个配置文件 :


a.com.conf,b.com.conf, 配置文件中加入代码:

server {
  listen 80;
  server_name a.com;
  location / {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host  $http_host;
    proxy_set_header X-Nginx-Proxy true;
    proxy_set_header Connection "";
    proxy_pass http://127.0.0.1:8080;
  }
}

根据您的需要修改对应的值,


server_name 代表您需要绑定的域名

proxy_pass 代表服务器上运行程序的地址(带端口号)

listen 代表 nginx 监听端口,默认80


配置好之后,别忘记下面一步,在 conf 文件夹下找到 nginx.conf 文件 在httpp配置项中加入配置:

include 	  vhosts/*.conf; 

配置完之后执行:nginx.exe,大功告成!