
网上搜不到,不知道是不是我用的关键词不对。我用“网站升级 流程”和“update website”在谷歌搜的。我还找了一本运维的书,结果扫了一眼目录和可能贴边的地方也没有。
目前我能想到的容易踩坑的地方有不关闭服务直接换网站代码可能会出导致数据不一致。不知道没有什么使用中的文件无法删除的防呆机制。我目前计划用 PHP 。但是我只能想到这一个坑,总感觉可能会有其他的坑。
1 defunct9 2025 年 3 月 23 日 多了去了。开 ssh ,让我上去看看 |
2 davidyin 2025 年 3 月 23 日 via Android 不同程序不同的流程。 比如 phobb ,可以考 https://www.phpbb.com/downloads/3.3/update |
3 pendulum 2025 年 3 月 23 日 你可能想找:持续部署 |
4 FlashEcho 2025 年 3 月 23 日 你的问题过于宽泛了吧,是微服务项目还是耦合很高的单体项目?要升级什么,依赖版本、后端架构、数据库选型、cicd 流程还是别的? |
5 ZeawinL 2025 年 3 月 23 日 via iPhone 外行人视角 |
6 ano 2025 年 3 月 23 日 做好备份能回滚就行 |
7 shendaowu OP @chesha1 主要就是网站修了漏洞或者添加功能后的升级。我不用框架。依赖版本的升级也有坑吗?我刚才在 Composer 官网搜 update 好像没什么需要特别注意的。 |
8 adgfr32 2025 年 3 月 23 日 一个是版本依赖层面的, 代码和数据库之间版本是否兼容 一个是服务可用性层面的, 是否需要不停机更新 |
9 zoharSoul 2025 年 3 月 23 日 描述的太模糊了 |
10 ETiV 2025 年 3 月 23 日 via iPhone 各种不同的语言框架都不一样,但可以标准化成容器化部署,前面用 nginx 反代: 1. 新的容器起来后监听新的端口,测试 OK 没问题之后 2. 改 nginx 配置、并 nginx -s reload 2. 旧的容器退出,就完成了一次更新。 然后下次更新的时候,监听这个旧的端口号 |
11 shendaowu OP @zoharSoul 能说一下需要提供什么信息吗?我感觉也许有用的信息:语言:php 。目前不打算用框架,可能会用 Composer 。能接受停机维护。 |
12 expy 2025 年 3 月 23 日 计划用 PHP ?意思东西都还没写出来?那考虑什么升级,一天没几个人的网站你直接关掉旧程序再启动新程序都没影响的。 |
15 shendaowu OP @zoharSoul 1. php + Javascript + MariaDB 。 2. 这个我之前不了解,我网上搜了一下,我感觉这个主要是偏物理和基础设施上的东西?目前我打算用阿里云香港的 ECS 套上 CloudFlare ,并且用 CloudFlare Tunnel 。Linux 发行版用 Debian 。ECS 目前打算用比价便宜的。如果最便宜的没什么问题我肯定会用最便宜的,如果真有人用的话再升级服务器。所有东西都运行在一个 ECS 上,不会买其他的服务。 |
16 shendaowu OP @expy 我对可靠性有强迫症。如果我升级的时候某个用户正好在访问网站,我猜可能会导致问题。比如程序执行到一半服务被强制关闭了。当然特殊的地方我会用事务的,但是这东西也不能保证一定不出问题吧?不过一个 BUG 造成的问题可能远大于上面那种问题,如果真有那种问题的话。我写 BUG 的能力还是挺强的。 |
18 zoharSoul 2025 年 3 月 23 日 @shendaowu #15 其实 4 楼就问的挺清楚了, 没有升级网站这个说法? 你是要升级什么东西? 我猜你问的是 php 后端如何滚动部署? |
21 shendaowu OP @zoharSoul 大佬是不是记错了?是平滑重启( Graceful Restart )吧?我用大佬给的关键词没搜到什么东西。刚才在问 DeepSeek 的时候它提到了这个词。我的担忧如果用了平滑重启应该就不存在了?另外求大佬鉴定一下这个回答: https://segmentfault.com/q/1010000046362677/a-1020000046362824 。 |