620 字
3 分钟
端到端训练
端到端的问题其实不是一门知识体系,更多是在以下几种知识体系的认知下遇到实际问题的经验积累:
- 浏览器设定
- 计算机网络
- Linux(绝大部分服务端操作系统)
所以狭义的端到端知识应该是指在熟悉了上述三个系统的认知后在做 Web 领域的项目开发部署中产生的问题解决与最佳实践。
关于系统学习,也许把“操作系统”、“计算机网络”相关书目看一遍才能为后续的问题解决提供正确的切入点,但偷懒的话也可以着重看下《Linux 鸟哥私房菜》以下几章:
想要破除开发中遇到的与端到端问题产生的疑惑,推荐的方法还是做一次 Web 应用的部署:
- 找一台可供练习的虚拟机/物理机,镜像建议是 CentOS;服务提供商可以用 vultr/digitalocean,不建议使用阿里或腾讯的云服务(有一些默认的安全策略在不熟悉的时候影响排查问题)
- 使用该服务器熟悉一下这些操作(有点琐碎,可以 follow《Linux 鸟哥私房菜》做习题,比较详细)
- 文件操作(熟悉文件权限,文件系统,软硬链操作等)
- 用户、用户组操作(了解为什么为什么会不建议 root 启动服务等)
- SSH 服务(公私钥设定,常见登录受限原因,sshd 配置等)
- 防火墙(了解网络服务限制、放行的操作)
- 守护进程操作
- 常见的资源查看操作(free/lscpu/df/netstat 等)
- 找一个可以提供域名服务的提供商(godaddy 之类)买个 9.9 元/3 年的域名
- 配置域名解析、子域名解析
- 尝试子路径/子域名部署静态资源和服务(可以参考这个)
- 使用 Let’s Encrypt 部署证书
- 尝试把做过的完整的产品或者开源的项目部署在服务器上,可以尝试 SSO、SSR、伪前端拆分等和端到端有关的方案,建议花 2 小时看完 docker 的入门文档然后用 docker 部署服务
- 可以尝试配置 HTTP 缓存字段验证缓存命中相关的问题