網站開發從零開始到上線
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自動化的測試, 自動化的拉取到服務器上)
以上就是我在公司進行全棧開發的一點小小的經驗, 如果有什么說不到的地方, 請指出......
最后, 謝謝大家 ^_^