php - 对于一个正在运行的网站,请问怎么把二期开发的代码更新上去?
怪我咯
怪我咯 2017-04-11 10:15:46
[PHP讨论组]

1.整个由二期代码完成,到发布到正式服务器的流程应该是怎样的?
2.是否都需要停止现在的网站?是的话,请问技术上怎么操作比较规范
3.如果在测试服务器上都测试过没问题,怎么更新到正式服务器比较保证最少差错?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(13)
PHP中文网

假如有十台服务器。
先把其中五台下线,把新代码发布到这五台上面。测试没问题,这五台重新上线。
把另外五台下线,发布代码到这五台服务器上面,测试成功后上线。

ringa_lee

测试服务器跟线上服务器也不一定就完全一致,所以还是弄一个测试域名比较安全,
如果没问题那就重命名文件夹?该 web 配置?反正改版又不是家常便饭,
服务器多那就写个 shell 脚本也行,

黄舟

前提,在保证在开发环境下测试通过后再进行以下步骤。
一、将网站普通用户访问定向到一个“维护中”的通知页面上,但允许开发者的IP访问正常页面以供测试。
二、如新版中存在较多数据结构变动,则必做数据库备份
三、更新代码。
四、测试问题,实际解决。如果问题与开发环境差别不大,系统表现没有异常,则恢复正常访问,升级成功。如果在生产环境发现问题不能当时解决且影响巨大,则迅速恢复数据库,回滚代码,恢复访问,升级失败。然后开发环境中复现该问题解决后再行重复以上过程。

巴扎黑

首要条件
内网测试服务器(一般虚拟机代替)
外网二级域名测试服务器(低配置服务器只在测试时开放解析)
以上两台服务器尽力模拟生产环境服务器配置

开发阶段内网测试
发布前进行外网域名测试
在这里尽量保证除数据不同以外其他都尽量相同 包括静态文件 cdn 表结构 等等
运行你需要更新的sql语句
测试完成后发布生产环境
流程一样.

这里建议上线最好开发一个上线系统 通过系统来更新代码减少出错几率(sql还是要手动执行)
好处是可以一键回滚不耽误线上环境运行.而且可以记录操作日志

PHPz

git pull

巴扎黑

如果是大的更新,建议版本迭代。如果更新比较小直接上传也是没什么的。(个人意见)

阿神

肯定用git啊,git pull一下就更新了,賊方便。

PHP中文网

试一下类似walle这样的代码部署工具,用git管理代码,如果出问题的话也能及时回滚

伊谢尔伦

必要前提:一个线上测试版本,一个线上正式版本(个人项目另说)
二期开发的代码假定都是在本地进行完整的测试通过有的,那么先把线上代码进行 冻结 操作,然后把二期代码 push线上测试版本 进行测试(服务器的环境和本地一定会有不同,这一步骤是必要的),测试通过以后在更新到 线上正式版本

大家讲道理

通过git diff 进行增量发布

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号