终于抛弃drupal投入到wordpress阵营了,哈哈。WP确实比DP好用,此处省去五百字…
以前一直在纠结怎么迁移,迁移后旧数据怎么办,有无平滑方案,想破脑袋都没主意,数次动过迁移念头,数次又被消灭。前几天DP通知可以从7.22升级到7.23,可无论如何都升级不成功,预计痛下决心进行迁移。
我现在后台用的是nginx+php-fpm模式,在同事的帮助下经过一番尝试后,终于搞定平滑升级方案:
1. 启用新站直接对外提供服务
2. 将原来的虚拟主机改名,比如把 imysql.com 改成现在的 dp.imysql.com:8080(由于我的server_name采用泛域名,因此这里需要使用非80端口)
3. 将所有对旧站的请求转发到 dp.imysql.com:8080 上
这样,就可以对外提供新站服务的同时,原有被搜索引擎收录的旧链接也能被正常打开。在nginx中,可参考如下配置:
#
# /sites/.* 、 /files/.* ... /image_captcha/.* 是drupal相关请求目录,在wordpress中不会出现,放心转发
# .*\.html 是我以前使用drupal时,url path的规则,以 .html 结尾,启用wordpress后,我的url path结尾改成 .shtml 了,所以也可以放心转发
# 上面规则设定完后,通过proxy_pass将符合特征的请求直接转发给 8080 端口了,也就是 dp.imysql.com:8080
#
location ~ ^/(sites\/.*|file\/.*|scripts\/.*|admin\/.*|node\/.*|user\/.*|image_captcha\/.*|.*\.html) {
proxy_set_header Host dp.imysql.com:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8080$request_uri;
}
nginx我也不是非常熟悉,所以上面的正则表达看起来比较土,有什么比较好的麻烦大家告知,谢谢。
--------------------------------------分割线--------------------------------------
知数堂 (http://zhishuedu.com)培训是由资深MySQL专家叶金荣、吴炳锡联合推出的专业优质培训品牌,主要有MySQL DBA实战优化和Python运维开发课程,是业内最有良心、最有品质的培训课程。
本文出自 “老叶茶馆” 博客,请务必保留此出处http://imysql.blog.51cto.com/1540006/1879802
原文地址:http://imysql.blog.51cto.com/1540006/1879802