我们有 wordpress 多站点,开发人员在开发服务器上进行开发,我们没有使用任何版本控制进行 wordpress 开发,我需要一些计划,以便我们可以快速安全地将站点从开发转移到实时站点。
我正在考虑 inotify + rsync 但是数据库提升怎么样?
答案1
实际上,我们在 dev.example.com 上进行 wordpress 多站点开发,然后需要移动到实时站点 www.example.com,因此我们需要将文件和数据库中的所有链接从 dev.example.com 更改为 www.example.com,并将 mysql 从开发服务器移动到实时站点。目前我正在手动执行此操作,但现在我发现了名为 duplicator 的 wordpress 插件,它对我很有用,包括链接更改和 mysql 导出/导入等。
http://wordpress.org/extend/plugins/duplicator/
更详细的答案和其他插件请参阅以下问题。
答案2
WordPress 有一个简单的 503“维护”页面,您可以在代码部署期间启用它(并且应该启用)。如果您从内部升级 WordPress,则它会自动启用和禁用此页面。
如果您想自己启用它,只需.maintenance
在顶层 WordPress 目录中创建一个空白文件,并在部署完成后将其删除。
例子:
touch /srv/www/example.com/.maintenance
rsync [email protected]:/srv/www/example.com /srv/www/example.com
# custom scripts here, if any
rm /srv/www/example.com/.maintenance
此时,具有管理员角色的 WordPress 用户必须访问http://example.com/wp-admin/network/upgrade.php
(对于多站点;/network
对于单个站点则删除)来更新数据库架构。我不知道有什么好方法可以离线执行此操作;但是 WordPress 非常擅长继续使用过时的架构。