内容正在载入中,请稍后……
公告
About me
搜索
统计
其他
30 Nov.2012

完美将山西行者户外论坛由DZ7.2升级到DZX2.5 晴

作者: 我就是个世界   分类:个人作品   出处:本站原创            | |
背景:
      山西太原行者户外用品有限公司(简称行者户外),成立于2004年9月11日,主营国内外专业登山器材、户外旅行及自驾车用品,并为广大户外爱好者提供全面的技术支持和安全保障。自2004年成立以来,行者户外一直致力于山西户外市场发展,店面规模不断扩大,现已成为山西地区最大的户外用品集散地,及户外活动组织机构。
      行者户外现下属两个机构,太原行者户外用品店行者户外运动俱乐部,经营面积800平米,在店品牌超过100个,在职员工30人,俱乐部注册会员突破6000人。

      行者户外在成立之初就建立了自己的网上论坛,也正因为有如此,论坛的数据量非常之大,目前论坛附件总量已达9万之余,占用空间总量20余G,数据库200多M。 而由于之前论坛管理没有注意效率问题,把如此之多的附件统一放在了同一个目录,而未进行分级存放,导致程序在检索附件时所需时间和所占资源非常之大,经常导致服务器应用程序池停止,报错Service Unavailable,再加上目前所使用程序为DISCUZ 7.2版本,和目前官方最新版相差好几个版本,功能和性能上都有所不足,最关键的问题是不能有效的防止垃圾信息,而且一旦官方不再提供DZ7.2版本的支持,到时再升级就会非常麻烦,有可能会丢失近十年的所有数据而从头再来。这就是信息化时期数据灰飞烟灭的悲剧!

      当然,我们决不能让这种悲剧发生,所以要及时对程序进行升级处理,并重新整理附件目录。

      和小驴协商之后,于26日开始进行本地升级测试,修正和排除N个程序错误之后,于27日晚上顺利地将程序从DZ7.2升级到X2.5,数据完好,无任何丢失。28日对原有风格进行升级,本地测试基本完成,初定28日晚十点进行服务器程序升级。

      28日晚上传本地测试程序,12点左右升级完成,结果小驴发现升级上去的程序并不是最新的,是6月左右的。 然后我开始查找原因,发现接入商给我打包的数据库不是最新的,他打包错了。 找到了正确的数据库,开始重新升级,没办法,只能先下载下来,再把这两天的操作全部重来一遍。 幸好我有写升级文档放在那里,要不然麻烦大了(好习惯很重要)。还有无论何时都要做好数据备份,因为你不知道未来会发生什么事,只有经常备份数据才能有效的防止数据灰飞烟灭。

      经过5小时左右的折腾,终于把服务器上的程序也成功升级到了X2.5,不过发现Service Unavailable的问题还是没有解决,而接入商也说已经把资源调到了最大,由此可见,此问题的根本原因在于附件目录,也就是那个同一个目录近9万个文件检索起来太占资源的原因。所以附件整理势在必行,否则无法从根本上解决此问题。

      29日,小驴也反映此问题还是频繁出现,我把我想法说了一下,那就开始进行附件整理吧!
      不过我对此归整还不太清楚用什么方法来做,考虑了考虑,最后想用批处理来做,不过查了半天资料,这个移动命令move并没有针对时间的参数,如果用复制命令XCOPY的话,那20G的文件岂不成了40G,这也忒占资源了。而且我对这个命令行操作也不太熟悉,不能贸然行事。 我想python肯定可以办到的,不过咱不可能去服务器上装个python环境吧,也不可能把20G的附件下载到本地来操作,所以行不通,最后看来只能手工操作附件目录了。 还好附件名都是按日期来命名,普遍都有规律,整理起来也就有律可行。只是费点时间罢了。
      对于数据库里的记录怎么操作呢? 之前想着用命令写程序,不过前面附件目录已经放弃了命令行,那数据记录整理也就范不着写程序来做了,查看了一下Discuz!X2.5 附件表结构解析,涉及到的那10个表,看了一下都不大,总共12M多,那就直接用文本编辑器替换好了。 我只能说正则很强大,要好好学习~

      从晚上十点到凌晨六点,总共8个小时,论坛9万个附件(20G)已经按年月日整理完成!  

      整整八小时,不易! 真是又困,又累,又饿,又冷啊! 赶紧睡觉去了!

      现在应该对论坛速度有很大的提升,每次检索附件图片的时候不需要那么占资源了!这一点今天小驴也证实,不再出现之前的报错了。很好!

      最后一个小问题,发现首页N格的图片不显示、路径不正确,刚才查看了N格的图片调用代码,发现图片调用的是 pre_forum_threadimage 表,才想起来昨晚并没有针对这个表做修正,正是因为这个表没有做替换修正的原因,导致图片路径不正确。当然也就不能正确显示图片了。 修正此表后,完美解决!

      至此,山西行者户外论坛的程序升级及附件整理工作宣告完成!


      昨晚有点工作过度了,今天中午才起来,然后就头晕啊,快到晚上才刚好了点! 真是年龄不饶人啊,发现过了三十之后,身体真是越来越不能超负荷工作了!


============== 中间遇到的几点问题 =====================

1. 从FTP下载回来的文件,在本地测试时只有首页列表页显示正常,而帖子内容页空白,原因可能是文件有损坏,解决方法:下载一个最新版本的安装包  然后除了install、attachments、ipdata、images文件夹和config.inc.php文件外, 其他的全部覆盖现在的文件,然后删除forumdata/cache/和forumdata/templates/下的文件,再到首页刷新几次看,应该正常了。

2. 如果之前的站点已经开通了QQ 互联,需要单独执行一下 QQ 互联的升级程序update_qqconnect.zip(3.43 KB, 下载次数: 4876),具体操作这里第六步:http://www.discuz.net/thread-2487956-1-1.html

3. 升级完成后发现前台[QQ登录]无法启用,后台注册设置那里也没有[只开放QQ注册]这一项,原因可能是之前开启过QQ互联,可能有缓存文件存在,解决方法:先到云平台关闭QQ互联,清空缓存,再重新开启,即可解决。到前台看,发现已经有[QQ登录按钮]。

       分享到QQ空间
最后编辑: 我就是个世界 编辑于December 11, 2012 15:30
发表评论
  昵称 [注册]
  密码 (游客无需密码)
  网址
  电邮
OpenID登入 权限选项 表情