SKYSUKA's Studio.

如何使用一台服务器支持多个域名和站点

字数统计: 456阅读时长: 1 min
2019/06/11 Share

背景

我在腾讯云有一台服务器,有两个域名和各自的网站:linqunshu.cn以及molardata.com,我想把这两个网站都部署在这一台云服务器上(节约前期成本)。

虽然可以使用Tomcat在不同的端口上部署网站,但是这种方式在访问时,还需要在网址的最后添加端口,非常不美观。当然也有不添加端口的方法,这篇博客就记录了实现的过程,通过Nginx的端口转发实现。

操作过程

  • 在域名服务商对域名进行解析

添加@www记录字段,记录值为服务器的ip地址。

  • 设置Nginx的conf配置

在nginx.conf文件中(不确定nginx.conf位置的同学,可以命令行输入nginx -t进行查询)的配置添加的信息如下(做配置改动前,建议复制一份作为备份)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// 添加以下内容
upstream linqunshu {
server 127.0.0.1:3009;
}
upstream molardata {
server 127.0.0.1:4000;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name www.linqunshu.cn;
root /home/linqunshu.cn/www;
location / {
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
server {
listen 80;
server_name www.molardata.com molardata.com;
root /home/molardata.com;
location / {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}

  • 重启Nginx

先检查一下conf文件是否正确,在命令行里输入(Nginx的地址可能有差异):

1
/usr/sbin/nginx -t

如果正常的话可以看到:

1
2
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

确认配置正确后,可以重启Nginx

1
/usr/sbin/nginx -s reload

  • 其他细节

测试前可清除一下DNS缓存,如果是Mac系统,使用如下命令:

1
sudo dscacheutil -flushcache

参考资料

CATALOG
  1. 1. 背景
  2. 2. 操作过程
  3. 3. 参考资料