網(wǎng)站開發(fā)從零開始到上線
時間:2022-08-19 12:36:01 | 來源:網(wǎng)站運營
時間:2022-08-19 12:36:01 來源:網(wǎng)站運營
Web開發(fā), 最常見的就是網(wǎng)站開發(fā)了, 網(wǎng)站開發(fā)究竟有什么流程呢? 如果一個人開發(fā)網(wǎng)站, 他需要做什么準(zhǔn)備呢? 且聽我慢慢道來......
準(zhǔn)備工作
- 系統(tǒng)架構(gòu)的選型
- 網(wǎng)站設(shè)計
開發(fā)網(wǎng)站首先要想想需求是什么, 網(wǎng)站的訪問量如何, 然后就要開始前后端的設(shè)計
后端設(shè)計: 主要關(guān)注的是網(wǎng)站的峰值并發(fā)量是否很高, 網(wǎng)站的數(shù)據(jù)庫是否要支持事務(wù), 一般的網(wǎng)站, 就用一個大眾的開發(fā)框架即可(php可以選用laravel, nodejs可以選用express或者koa, python選用flask, java選用springboot springMVC), 數(shù)據(jù)庫支持事務(wù)選用 mySQL postgreSQL, 不考慮事務(wù)選用mongodb
前端設(shè)計(界面): 設(shè)計師出AI圖或者PSD圖, 出交互UI效果圖
前端設(shè)計(框架): React(基本成熟, 兼容到IE8), Vue(基本成熟, 兼容到IE9), 原生
如果快速開發(fā), 前后端不分離, SEO要求比較強烈, 可以考慮模板引擎渲染前端頁面推薦: 前后端統(tǒng)一用Javascript書寫, 這樣基本上一個人就能搞定開始開發(fā)(nodejs為例)
- 本地
- Git Workflow 模式開發(fā)
- 數(shù)據(jù)庫環(huán)境配置(測試環(huán)境 生產(chǎn)環(huán)境 開發(fā))
- 自動化工具的運用(webpack自動化打包 gulp自動化處理各種任務(wù))
- 測試
- 線上
- 域名購買
- DNS解析
- 云服務(wù)器購買(含操作系統(tǒng) 推薦使用 CentOS 等Linux發(fā)行版)
- 云服務(wù)器用戶創(chuàng)建(用戶權(quán)限 ssh只允許秘鑰登陸)
- 云服務(wù)器反向代理配置(推薦使用nginx), 或者使用云服務(wù)負載均衡
- 云服務(wù)器防火墻配置
- 云服務(wù)器數(shù)據(jù)庫配置(可以單獨購買數(shù)據(jù)庫服務(wù), 也可以單獨弄一臺數(shù)據(jù)庫服務(wù)器, 展示型無需更新的網(wǎng)站可以不配置數(shù)據(jù)庫)
- 服務(wù)器代碼運行環(huán)境配置(參考本地環(huán)境配置)
- 服務(wù)器緩存配置(推薦使用redis 或者 服務(wù)商提供的 緩存服務(wù)器)
- githook線上環(huán)境自動化測試也可以搞起
- 線上日志和監(jiān)控報警(可以使用第三方服務(wù) OneApm Alinode等)
代碼部署上線
- 前端
- 前端代碼壓縮, 文件名md5化
- 服務(wù)器開啟gzip壓縮
- 公共文件, 圖片, 視頻放在CDN上
- 圖片base64化
- 域名發(fā)散
- 雪碧圖
- 后端
- 數(shù)據(jù)庫索引
- 數(shù)據(jù)庫是否需要讀寫分離分庫分表
- 后端代碼部分進行良好的單元測試, 集成測試
- 部署
- 利用 git 進行部署(githook自動化的測試, 自動化的拉取到服務(wù)器上)
以上就是我在公司進行全棧開發(fā)的一點小小的經(jīng)驗, 如果有什么說不到的地方, 請指出......
最后, 謝謝大家 ^_^