部署项目指南
部署项目指南: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保护
1.云平台选择
cloudflare:有workers和pages,支持自定义域名
vercel:自定义域名需要cloudflare实现
netlify:对大陆不墙
cloudflare的workers和pages如何选择?
纯静态网站 → 使用Pages,享受免费托管和自动化部署
全栈应用(静态+动态) → 有限Pages,利用Functions简化开发
复杂后端逻辑/需深度生态集成 → 直接使用Workers,灵活调用底层API
混合场景 → 通过绑定(如Pages项目关联Workers服务)实现协同
2.自定义域名:cloudflare
购买一个顶级域名 + 一级域名,其他相关项目用二级域名
- 二级域名直接添加就好,会自动授权至一级域名对应DNS服务器生成对应的DNS记录
3.修改网站UI
修改网站图片、文案
修改网站logo(webp、ico、svg等)
注:svg图片可根据代码生成,代码可借助大模型
4. 修改readme,若发布到个人博客,还需修改博客
注:
环境版本很重要,环境兼容性可能导致功能不能正常使用,GitHub项目需要看看有没有环境版本要求
- 云部署不需要注意(会自动选择版本),本地部署需要注意
云部署平台很关键,同一个项目对于不同云部署平台的适配可能不同,因此需要按照GitHub项目要求的云部署平台进行部署
- 例如,vercel和cloudflare对于后端API的调用方式不同