我想要可靠地升级网站,有没有标准的流程?或者需要注意的地方?

7 天前
shendaowu  shendaowu

网上搜不到,不知道是不是我用的关键词不对。我用“网站升级 流程”和“update website”在谷歌搜的。我还找了一本运维的书,结果扫了一眼目录和可能贴边的地方也没有。

目前我能想到的容易踩坑的地方有不关闭服务直接换网站代码可能会出导致数据不一致。不知道没有什么使用中的文件无法删除的防呆机制。我目前计划用 PHP 。但是我只能想到这一个坑,总感觉可能会有其他的坑。

1354 次点击
所在节点   站长  站长
21 条回复
defunct9
defunct9
7 天前
多了去了。开 ssh ,让我上去看看
davidyin
davidyin
7 天前
不同程序不同的流程。
比如 phobb ,可以參考 https://www.phpbb.com/downloads/3.3/update
pendulum
pendulum
6 天前
你可能想找:持续部署
chesha1
chesha1
6 天前
你的问题过于宽泛了吧,是微服务项目还是耦合很高的单体项目?要升级什么,依赖版本、后端架构、数据库选型、cicd 流程还是别的?
ZeawinL
ZeawinL
6 天前
外行人视角
ano
ano
6 天前
做好备份能回滚就行
shendaowu
shendaowu
6 天前
@chesha1 主要就是网站修了漏洞或者添加功能后的升级。我不用框架。依赖版本的升级也有坑吗?我刚才在 Composer 官网搜 update 好像没什么需要特别注意的。
z1829909
z1829909
6 天前
一个是版本依赖层面的, 代码和数据库之间版本是否兼容
一个是服务可用性层面的, 是否需要不停机更新
zoharSoul
zoharSoul
6 天前
描述的太模糊了
ETiV
ETiV
6 天前
各种不同的语言框架都不一样,但可以标准化成容器化部署,前面用 nginx 反代:

1. 新的容器起来后监听新的端口,测试 OK 没问题之后 2. 改 nginx 配置、并 nginx -s reload
2. 旧的容器退出,就完成了一次更新。

然后下次更新的时候,监听这个旧的端口号
shendaowu
shendaowu
6 天前
@zoharSoul 能说一下需要提供什么信息吗?我感觉也许有用的信息:语言:php 。目前不打算用框架,可能会用 Composer 。能接受停机维护。
expy
expy
6 天前
计划用 PHP ?意思东西都还没写出来?那考虑什么升级,一天没几个人的网站你直接关掉旧程序再启动新程序都没影响的。
zoharSoul
zoharSoul
6 天前
@shendaowu #11
1. 当前的技术栈
2. 部署的架构
chesha1
chesha1
6 天前
@shendaowu #7 我不懂 php ,不过一般来说语言本身的升级不会带来能影响到普通开发的破坏性改变,留好回到上个版本的方法就行了
shendaowu
shendaowu
6 天前
@zoharSoul
1. php + javascript + MariaDB 。
2. 这个我之前不了解,我网上搜了一下,我感觉这个主要是偏物理和基础设施上的东西?目前我打算用阿里云香港的 ECS 套上 CloudFlare ,并且用 CloudFlare Tunnel 。Linux 发行版用 Debian 。ECS 目前打算用比价便宜的。如果最便宜的没什么问题我肯定会用最便宜的,如果真有人用的话再升级服务器。所有东西都运行在一个 ECS 上,不会买其他的服务。
shendaowu
shendaowu
6 天前
@expy 我对可靠性有强迫症。如果我升级的时候某个用户正好在访问网站,我猜可能会导致问题。比如程序执行到一半服务被强制关闭了。当然特殊的地方我会用事务的,但是这东西也不能保证一定不出问题吧?不过一个 BUG 造成的问题可能远大于上面那种问题,如果真有那种问题的话。我写 BUG 的能力还是挺强的。
zoharSoul
zoharSoul
6 天前
@shendaowu #15
问题 2 的意思是你是怎么部署的
docker?k8s? 还是什么
zoharSoul
zoharSoul
6 天前
@shendaowu #15 其实 4 楼就问的挺清楚了, 没有升级网站这个说法? 你是要升级什么东西?
我猜你问的是 php 后端如何滚动部署?
shendaowu
6 天前
@zoharSoul 我预计我更新的频率会比较低,不想学 docker 那些东西。我想直接替换我写的 php 文件、CSS 文件和 js 文件等文件。但是不知道除了替换的时候关闭服务还需要干什么。另外我也不知道是否需要关服务。
zoharSoul
6 天前
@shendaowu #19 看你 php 的部署模式
分别搜 cli 或者 fpm 对应的优雅/平滑 部署就行

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1120393

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX