Discuz论坛升级攻略及踩坑处理

一,背景

为了推进公司所有网站全站https升级,所以优先对论坛做https了升级,以便为全站https试验和积累经验。

二,Discuz https升级实战

discuz bbs的https升级,涉及以下工作:
1,https证书准备:
可以到StartSSL申请一个免费的单域名SSL证书,或者到GeoTrust SSL Certificates官网购买(这个是我们发现的,性价比最高的SSL证书,京东用的就是他家的,物美价廉)。

2,discuz版本升级:
最好使用X3.2最新版本,最新版已经很好的支持了https,低版本的可以升级过来,详情请参考官网文档。http://www.discuz.net/thread-3570835-1-1.html

3,代码细节修改:
需要对一些不是https访问的地址引用做修改,改为https的,比较少、杂,视具体情况而定,主要是一些第三方的插件/组件或云服务,有这些:
source/function/function_core.php
source/admincp/admincp_cloud.php
source/class/discuz/discuz_application.php
source/plugin/manyou/Service/DiscuzTips.php
source/plugin/pcmgr_url_safeguard/pcmgr_url_safeguard.class.php
config/config_ucenter.php
uc_server/avatar.php
template/default/common/header.php
最后这个文件,需要注意,如果有定制模板,请注意修改相应模板目录下的这个文件

4,引用地址修改:
引文的本站或其他站点的图片等文件,scheme都要由http改为https,否则一旦有引用非https资源的https页面,浏览器地址栏会显示异常,红叉或警告。由于内容较多,建议直接dump数据库、批量替换处理,然后再把数据导回数据库。

注意:尽快能修改的全一些,除了这些需要多点点别的页面,看到用浏览器访问展示的不是绿锁的页面,都要调整下。这个步骤,可以使用浏览器开发者模式跟踪这些内容。

三,问题处理

(比较常见的问题,不一定是https升级场景下的问题)

上面这些进展的还比较顺利。但是,由于本次升级了discuz版本,加上自己定制修改,版本改动较大,部署后用户头像无法上传,报服务器io错误。经网上搜索,实际验证,发现是如下两点惹得祸:
1,文件权限问题:
uc_server/data/avatar/ 是否可写 权限为777
uc_server/data/tmp/ 是否可写 权限为777
如果还搞不定,就用必杀技,把UC里面的data文件夹包括子文件夹都设置为777!!
上述操作完成后,登录后台,更新下缓存及UC缓存!

2,检查论坛uc_server/data/config.inc.php中uc_key 是否正确,此处的uc_key需要与config/config_ucenter.php文件中的uc_key保持一致。本人就是被这个坑了,原因是线下的代码入库到svn了,最后上线了,忘记修改这个文件了,导致uc_key、db信息都是错误的。修改后,验证ok。

温馨提示:有的时候,可能是缓存因素导致的,不会立马生效,此时喝杯水或抽根烟,休息下,再来看应该就好了,哈哈。

四,总结

总结下discuz迁移或升级经常出问题的地方:
1,db配置:
以下三个配置文件都涉及到db配置,db变更或迁移时,都需要修改,一定不要遗漏哟:
config/config_ucenter.php
config/config_global.php
uc_server/data/config.inc.php

2,文件权限:
论坛迁移或升级时,要记得为以下两个文件夹授权777(可能不需要这么高的权限也行,没具体研究),不然会出现帖子附件上传失败、头像上传失败:
data/
uc_server/data/
说明:前者是帖子的附件等内容的存放目录,后者是头像图片存放目录。

ps:本次https升级,对性能影响不大,基本可以忽略,访问依旧很流畅。可能,我们是基于阿里云搭建的服务,https到http的转化可以在阿里云SLB层完成,这样SLB到后端真实服务器就是http了,支持https的工作和压力都有SLB来承担了,由于SLB都是集群服务,所以效果还是不错了。

五,致谢

本人解决问题时,参考了以下文章,感谢文章作者!
1,https://bbs.aliyun.com/read/258971.html?pos=18
2,http://www.discuz.net/thread-2235818-1-1.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值