多个域名访问同一个服务器

需求

有时候服务器少,但是项目多,好几个项目部署到一个服务器上。
或者不同的项目有不同的端口。
但是只有一个域名,是不是只能用一个项目呢?

NONONO
🙅🙅🙅🙅🙅

比如
我有三个域名(A,B,C)(怎么把一个域名变成三个域名,在有办法),三个项目在服务器上(a,b,c)

研究一下怎么把A-a,B-b,C-c

首先,把一个域名变成多个

比如,我在腾讯云上申请了一个yayan.xyz的域名(其他云没搞过,但是同理)。

  1. 打开腾讯云的控制台,域名解析,点进要解析的域名

  1. 讲解一下重要的字段

1
2
3
4
主机记录:就是我们想要的域名,比如主机记录填"aaa",那么就有一个新的域名aaa.yayan.xyz
记录类型:用的不多,选A就行,有CHAME(加速?),TXT(验证?),NS(DNS)?
记录值:如果是A就是自己域名绑定的ip,其他的要根据你干啥填
TTL:路由跳转的最大跳数,不重要吧?
  1. 点击新增字段,输入自己想要的域名,确定之后,几分钟就行了

然后,服务器配置

  1. 服务器下个nginx(之前觉得麻烦,没想到这么好用)
    这个网上很多,一个命令就行了,忘了是啥了,可以搜搜
  2. 修改nginx配置文件
    我的是:
1
/etc/nginx/sites-available/default

vscode连接服务器的在前一篇

  1. 修改监听端口对应的域名
    我用的http所以是80,
    https应该是443

一个例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
server {
listen 80;
listen [::]:80;
server_name unsplash.yayan.xyz;
location / {
proxy_pass http://服务器ip:6666;
}
}
server {
listen 80;
listen [::]:80;
server_name www.yayan.xyz;
location / {
root /anaconda/pythoncode/ChargingMonitor;
index index.html index.php index.jsp;
}
}

重启nginx服务

1
service nginx restart

现在:
访问unsplash.yayan.xyz 就会跳转到6666端口对应的服务,比如gradio或者flask搭的项目接口
访问
www.yayan.xyz 就会跳转到/anaconda/pythoncode/ChargingMonitor文件夹下对应的index.html或者其他

💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪