网站开发从零开始到上线
2020-11-13 05:06:00
Web开发, 最常见的就是网站开发了, 网站开发究竟有什么流程呢? 如果一个人开发网站, 他需要做什么准备呢? 且听我慢慢道来......
准备工作
- 系统架构的选型
- 网站设计
开发网站首先要想想需求是什么, 网站的访问量如何, 然后就要开始前后端的设计
后端设计: 主要关注的是网站的峰值并发量是否很高, 网站的数据库是否要支持事务, 一般的网站, 就用一个大众的开发框架即可(php可以选用laravel, nodejs可以选用express或者koa, python选用flask, java选用springboot springMVC), 数据库支持事务选用 mySQL postgreSQL, 不考虑事务选用mongodb
前端设计(界面): 设计师出AI图或者PSD图, 出交互UI效果图
前端设计(框架): React(基本成熟, 兼容到IE8), Vue(基本成熟, 兼容到IE9), 原生
如果快速开发, 前后端不分离, SEO要求比较强烈, 可以考虑模板引擎渲染前端页面
推荐: 前后端统一用Javascript书写, 这样基本上一个人就能搞定
开始开发(nodejs为例)
- 本地
- Git Workflow 模式开发
- 数据库环境配置(测试环境 生产环境 开发)
- 自动化工具的运用(webpack自动化打包 gulp自动化处理各种任务)
- 测试
- 线上
- 域名购买
- DNS解析
- 云服务器购买(含操作系统 推荐使用 CentOS 等Linux发行版)
- 云服务器用户创建(用户权限 ssh只允许秘钥登陆)
- 云服务器反向代理配置(推荐使用nginx), 或者使用云服务负载均衡
- 云服务器防火墙配置
- 云服务器数据库配置(可以单独购买数据库服务, 也可以单独弄一台数据库服务器, 展示型无需更新的网站可以不配置数据库)
- 服务器代码运行环境配置(参考本地环境配置)
- 服务器缓存配置(推荐使用redis 或者 服务商提供的 缓存服务器)
- githook线上环境自动化测试也可以搞起
- 线上日志和监控报警(可以使用第三方服务 OneApm Alinode等)
代码部署上线
- 前端
- 前端代码压缩, 文件名md5化
- 服务器开启gzip压缩
- 公共文件, 图片, 视频放在CDN上
- 图片base64化
- 域名发散
- 雪碧图
- 后端
- 数据库索引
- 数据库是否需要读写分离分库分表
- 后端代码部分进行良好的单元测试, 集成测试
- 部署
- 利用 git 进行部署(githook自动化的测试, 自动化的拉取到服务器上)
以上就是我在公司进行全栈开发的一点小小的经验, 如果有什么说不到的地方, 请指出......
最后, 谢谢大家 ^_^