私有化部署

私有化部署方案与技术细节

文档说明

看店通支持私有化部署到自有服务器,便于数据由企业自行保管。可将系统部署在云服务器或本地机房。本文说明部署环境要求、安装步骤及性能优化建议。

一、环境要求

服务器配置建议:日订单量 1000 单以内用 2 核 4G 起步;1000 至 1 万单建议 4 核 8G,并把 MySQL 与 Redis 拆到独立实例;1 万单以上需要按下文第七节做读写分离与多实例部署。存储空间按商品图片与订单附件预估,至少预留 50GB,并对磁盘使用率设置 80% 告警——磁盘写满会直接导致数据库停止写入,是私有化部署里较常见的事故。

二、安装步骤

  1. 上传源码至服务器,建议使用 scp 或 rsync,不要用 FTP 明文传输。
  2. 配置 .env 文件中的数据库连接、Redis 连接与应用密钥。文件权限设为 600,属主设为运行 Web 服务的用户,其他用户不可读。
  3. 配置 Nginx 虚拟主机,root 指向 public 目录而不是项目根目录,避免源码与配置文件被直接访问。
  4. 申请并部署 SSL 证书,配置 HTTP 到 HTTPS 的 301 跳转。微信小程序只接受 HTTPS 接口,这一步不能省。
  5. 通过浏览器访问执行安装向导,完成数据库初始化与管理员账号创建。
  6. 安装完成后立即删除或重命名安装目录,并确认 install.lock 已生成。安装入口暴露在公网等同于把数据库交给别人。
  7. 配置 crontab 定时任务,处理订单超时关闭、数据统计、对账等调度逻辑。
  8. 配置队列进程并用 Supervisor 守护,确保进程异常退出后自动拉起。

三、Nginx 配置要点

需要配置伪静态,将不存在的路径统一转发到 index.php;开启 gzip 压缩(对 HTML、CSS、JS、JSON 生效,图片不用压);对静态资源设置长缓存头并配合文件名哈希做版本控制。

生产环境还要收紧三项限制:client_max_body_size 按实际需要设置(一般 20MB 足够,设得过大会给上传攻击留空间);fastcgi_read_timeout 设为 60 秒,避免慢请求堆积耗尽 PHP-FPM 进程池;隐藏 server_tokens,不向外暴露 Nginx 版本号。上传目录必须禁止执行 PHP,否则一个图片上传漏洞就能变成远程代码执行。

四、性能优化

做优化前请先定位瓶颈,不要凭感觉加机器。典型的判断方法是:CPU 长期高位说明是计算或序列化问题;IO 等待高说明是数据库或磁盘问题;两者都不高但响应慢,多半卡在外部接口调用上。

五、备份与监控

数据库每日全量备份加每小时增量备份,保留至少 7 天,并且异地存放一份。最关键的一点常被忽略:每月做一次恢复演练,把备份真实还原到一台测试机上跑通。没有验证过的备份不能算备份,很多团队是在真正需要恢复时才发现备份文件是空的。

监控至少覆盖五个维度:CPU、内存、磁盘使用率与 IO、网络流量、应用错误率。告警阈值建议设为磁盘 80%、内存 85%、错误率 1%、接口 P99 响应时间 2 秒。告警要能真正送达到值班人手机,只发到没人看的邮箱等于没有监控。

六、升级与回滚

升级前完整备份数据库与代码,并确认备份可恢复。升级流程建议是:先在测试环境跑一遍并记录耗时,再选择凌晨窗口执行,执行前挂出维护页面。数据库结构变更要与代码发布分离——先发布向下兼容的结构变更(只加字段不删字段),观察一天无异常后再发布使用新字段的代码,这样任一环节出问题都能单独回滚。

回滚预案必须在升级前就写好并演练过,内容包括:代码回退到哪个版本、数据库是否需要回滚以及如何回滚、回滚的决策人是谁、最晚什么时间点必须决定回滚。升级后按下单、支付、发货、退款四条核心链路各跑一单真实数据再撤掉维护页面。

七、高可用与扩容

高并发场景按这个顺序演进:先做 MySQL 主从复制与读写分离,把报表类查询引到从库;再把应用层拆成多实例挂到负载均衡后面,注意会话要外置到 Redis,否则用户会在实例之间掉登录态;Redis 配置哨兵或集群模式消除单点。

扩容时容易踩的坑是配置没有同步调整:数据库连接池大小、队列消费者数量、PHP-FPM 的 pm.max_children 都要按实例数重新计算,否则加了机器反而把数据库连接数打满。定时任务在多实例环境下必须加分布式锁,不然每台机器都会跑一遍,造成重复对账或重复发券。

八、延伸阅读

部署完成后请对照安全规范做一遍上线前安全自检;对外开放接口前请阅读API 鉴权说明配置好应用凭证与权限范围。

← 上一篇:小程序定制
下一篇:安全规范 →

联系我们

客服热线

+86 139-2520-6166

邮箱地址

service@kandiantong.com

公司地址

深圳市南山区粤海街道高新区社区高新南七道201号深港产学研基地W903

0/500 字符
看店通小程序商城客服微信二维码-扫码获取私域商城定制开发解决方案-免费咨询

扫码添加客服微信

微信号:tarshee