子域名部署多个应用

2020-12-08 11:11:05 应用部署 77

简介

有时候我们可以看到很多子域名的网站,就比如你登录QQ邮箱域名为mail.qq.com,这里的mail就是子域名,同样的当我们拥有一个域名之后,我们也可以使用子域名,在我们的服务器中部署多个不同的应用,并通过不同的域名去访问。

添加子域名解析

首先,我们得有一台云服务器,我购买的是鹅肠的云服务器。我们登录到云服务器的控制台,进入dns解析页面,点击添加记录,并按照下面的方式输入。

  • 主机记录中填入你要访问的子域名我这里填写的是dnfliar
  • 记录类型选择 A类型
  • 线路选择 默认
  • 记录值 '你的云服务器的外网IP地址'

填写完成之后点击保存,过一会儿我们就可以通过如下命令测试子域名是否生效

ping 你的子域名

如果成功,则说明生效了。

配置nginx

登录我们的云服务器,输入如下命令配置ngxin

sudo vim /etc/nginx/site-avaliables/default

在末尾新增如下内容

server{
          listen 80;
          server_name dnfliar.2dogz.cn; # 你映射的子域名
          access_log /var/log/nginx/access.log; # 访问记录日志
          error_log /var/log/nginx/error.log;  # 错误记录日志
  
          location / {
          proxy_pass http://127.0.0.1:8001;   # 映射的本地端口
          proxy_redirect off; 
  
          proxy_set_header Host   $host;
          proxy_set_header X-Real_IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header X-Forwarded-Proto $scheme;
          }
  
         location /static {
                 alias /home/ubuntu/dnf-liar/dnf/static/;  # 静态文件缓存
                 expires 30d;
         }
 
 }

保存退出,然后输入如下命令测试ngxin配置文件是否出错

sudo nginx -t

如果没有出错则表示配置成功了。

使用supervisor管理应用

当我们有多个应用程序的时候,我们可以使用supervisor来管理。可以参考我这一篇博客 supervisor使用

使用下面的命令配置supervisor

sudo vim /etc/supervisor/conf.d/blog.conf

上述命令中最后的配置文件名跟你实际定义的一致,不一定是命令上的文件名,在文件末尾添加如下内容。

[program:flask-blog-owner]
command=/home/ubuntu/supervisor/dnf.sh
directory=/home/ubuntu/dnfliar/dnf
user=root
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true

最后,我们重启nginx、supervisor即可了。

sudo service nginx restart
sudo service supervisor restart

之后就可以通过子域名访问你的网站了。

dnf骗子汇总: http://dnfliar.2dogz.cn

我的博客网站: http://2dogz.cn

当前共有0条评论