部署项目指南
部署项目指南:ECS部署 + 云部署 + 两种部署方式比较
ECS部署网站
方式
有一台服务器,存放网站文件,买一个域名并备案,通过DNS解析设置将域名指向服务器ip地址,配置好服务器即可:最常规上线网站方式
- 域名+服务器+域名备案:上线网站,可以通过域名访问网站,安全
- 服务器:可以上线网站,但只能通过服务器ip地址访问,不安全
- 域名:可以用来云存储
域名
顶级域名——一级域名——二级域名
购买域名后——若想备案,需要3个月以上的服务器,因为只有通过服务器的供应商才能提交域名备案的申请
备案各地有专门的备案管理机构
域名的取名和指向ip,是域名所有者通过域名管理中的DNS解析设置来自行设定
服务器
云服务器:没显示屏,通过远程登陆进行服务器的操作,可以通过xshell远程登陆软件
因素:性能、位置、带宽、独立IP
域名备案
通过服务器的供应商进行域名备案,如腾讯云的备案小程序进行备案
DNS解析
选项
1.主机记录:
- @:默认域名
- 其他:就是起的二级域名
2.记录类型:
- A:记录值为ipv4地址
- AAAA:记录值为ipv6地址
- NS:记录值为DNS服务器
- CNAME:将域名指向另一个域名,再由另一个域名提供ip地址,记录值为域名类型的值
3.TTL:
DNS服务器缓存机制的有效时间
4.线路类型:
默认
具体过程:
1.联网设备都会有一个默认的DNS服务器,默认是路由器的IP地址
2.本地浏览器访问一个域名
3.先访问路由器
4.路由器将请求转接给猫,猫进而转接请求到服务商提供的DNS服务器,
5.该DNS服务器(可能负责几个小区的DNS服务器:Local DNS Server)负责查询,采用分层查询机制(根域名DNS服务器、顶级域名DNS服务器、name server)查询ip地址并返回
注:云服务商提供的域名对应的DNS服务器就是一个name server:专门负责管理这个域名的DNS服务器为name server
CDN
Content Delivery Network(内容分发网络):加速请求访问
实现:
给一个域名开通CDN服务
- 先给域名的DNS解析设置的后台添加一条CDN专用的解析记录,会让域名被解析后指向一个CDN网络专用的DNS服务器
- 在CDN后台设置源站IP:CDN网络才可以知道源站IP,通过一级一级的缓存服务器(通过缓存机制进行返回网站文件)和源站IP进行网站文件资源的返回
解决问题:
- 因为带宽小导致访问速度过慢
- 因为地理位置远导致访问速度慢
具体过程:
- 浏览器发送网址到相应的DNS服务器进行解析
- 让域名被解析后指向一个CDN网络专用的DNS服务器
- 该服务器给浏览器返回一台专门用来给各个请求设备分配合适的CDN服务器的这样一种服务器的IP地址:CDN负载均衡服务器,此时域名已被解析完毕,源站IP已经知道
- 浏览器访问CDN负载均衡服务器
- 该服务器返回一个适合给你设备提供服务(可能离你比较近、被分配访问任务不多的服务器)的CDN服务器的IP地址
- 浏览器访问这台CDN网络中的CDN服务器,向他请求网站的文件资源
好处:
1.如果有其他设备访问此网站,直接由CDN服务器的缓存机制返回网站文件,不需要每次去源站进行拉取!!!
2.避免原始服务器因为宕机而导致的服务瘫痪(缓存机制)
其他一些云服务
静态网站托管服务:默认对域名开通CDN服务
- 创建免费额度的开发环境(提供服务和功能)
- 上传网站文件,各个文件夹依次上传
- 自定义域名
- 给域名申请SSL证书(安全证书:免费额度是对单个域名申请一年的免费证书)
自动备案域名:不需要服务器进行备案的
云开发网站托管服务:比静态网站托管的免费环境的容量和流量要大一些
云部署网站
优势
相较于ECS部署网站优势:
- 个人版永久免费,每个月 100G 带宽(别人访问你的项目所耗费的流量),个人项目部署完全够用,需要注意的是团队模式收费,所以要协作你只能付费。
- 内置 CI CD,你可以理解成一个黑盒,项目丢进去,只需要将项目导入 vercel ,一句命令自动部署。不需要在ECS手动配置环境,支持本地、测试、生产三种环境部署,部署速度快
- 高度安全:SSL证书、DDoS保护
选择
- cloudflare:有workers和pages,支持自定义域名
- vercel:自定义域名需要cloudflare实现
- netlify:对大陆不墙