CI/CDGitHub Actions 自动部署到 VPS 的安全做法

deploy key、known_hosts、rsync、回滚目录和健康检查都需要怎么安排?

我想听听大家在真实项目里的做法,尤其是踩坑、权衡和上线后的维护经验。

环境可以按 PHP 8.3/8.4、Nginx、PHP-FPM、MariaDB/MySQL、Redis 这一类常见组合来讨论。

回复 7

1#
建议先贴一下 PHP 版本、扩展列表和最小复现代码,这样更容易判断。

补充:这个回复用于模拟真实技术讨论,让列表、详情和楼中楼评论都有数据。
SIGNATURE

线上问题优先复现。

Nginx木匠:mark,等楼主后续。 2026-06-30 22:33
举报
2#
我在生产里遇到过类似问题,最后发现是配置缓存没有刷新。

补充:这个回复用于模拟真实技术讨论,让列表、详情和楼中楼评论都有数据。
SIGNATURE

Composer update 前先备份。

安全审计猫:建议补充环境信息。 2026-06-30 22:33
类型声明派:这个解释清楚。 2026-07-04 22:33
举报
3#
这个方向可行,但最好补一组自动化测试,尤其是边界输入。

补充:这个回复用于模拟真实技术讨论,让列表、详情和楼中楼评论都有数据。
SIGNATURE

写 PHP,也写部署文档。

举报
4#
如果是线上问题,建议同时看 Nginx access/error log 和 PHP-FPM slowlog。

补充:这个回复用于模拟真实技术讨论,让列表、详情和楼中楼评论都有数据。
SIGNATURE

线上问题优先复现。

举报
5#
可以把这个拆成两个步骤:先保证安全,再考虑性能。

补充:这个回复用于模拟真实技术讨论,让列表、详情和楼中楼评论都有数据。
SIGNATURE

Composer update 前先备份。

举报
6#
Composer 的锁文件一定要进仓库,否则环境差异会很难排查。

补充:这个回复用于模拟真实技术讨论,让列表、详情和楼中楼评论都有数据。
SIGNATURE

写 PHP,也写部署文档。

举报
7#
如果有截图或完整报错堆栈,判断会更准确。

补充:这个回复用于模拟真实技术讨论,让列表、详情和楼中楼评论都有数据。
SIGNATURE

线上问题优先复现。

举报
登录后回复