discuz论坛搬家实战教程-更换服务器-升级程序

支付宝红包

和电脑手机等电子设备一样,现在的服务器真的是配置越来越高,价格越来越低,想要获取更好的配置和更低的价格,就需要勤动手,网站搬家并不难,就是过程稍微繁琐些,以前,普通的网站搬家想要偷懒,都是直接联系服务商购买个搬家服务,这次恰好有培训群的同学问是否有搬家和升级的教程,现在带着大家走一走流程:

hosts

更改hosts,新手一般都是直接将网站先更改解析,然后在处理搬迁手段,但是这样就容易出现在你搬迁过程中的用户无法访问的情况,如果你搬迁需要耗费3个小时,就意味着用户3个小时会无法访问网站,显然,这不是我们希望的效果。使用更改hosts的方式,如上图,这个代码的意思,就是暂时将你这台电脑访问霍常亮论坛这个域名的时候,解析到前面的ip地址中。当然,这个hosts仅仅是对你这台电脑有效,其他用户还是可以正常访问你的网站,等到你搬迁完毕之后,在更改一下解析,这样就可以无缝衔接,不会影响到用户的正常访问。

宝塔

在你的新服务器中创建网站,更改hosts之后,访问网站,正常就会出现和你更改解析之后一样的效果,如图。

伪静态

创建完之后,顺手更改下伪静态,我准备升级到的版本是X3.4,伪静态代码如上图所示,代码我也给大家拷贝一份,也许有些用户用的是不同的控制面板,无法自动展示,代码如下:

location / {
rewrite ^([^\.]*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2 last;
rewrite ^([^\.]*)/article-([0-9]+)-([0-9]+)\.html$ $1/portal.php?mod=view&aid=$2&page=$3 last;
rewrite ^([^\.]*)/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;
rewrite ^([^\.]*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last;
rewrite ^([^\.]*)/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3 last;
rewrite ^([^\.]*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3 last;
rewrite ^([^\.]*)/blog-([0-9]+)-([0-9]+)\.html$ $1/home.php?mod=space&uid=$2&do=blog&id=$3 last;
rewrite ^([^\.]*)/(fid|tid)-([0-9]+)\.html$ $1/index.php?action=$2&value=$3 last;
rewrite ^([^\.]*)/([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html$ $1/plugin.php?id=$2:$3 last;
if (!-e $request_filename) {
return 404;
}
}

网站搬家

创建完网站之后,记得将默认的首页删除,然后准备将你原本服务器中的文件上传过来。

至于上传的办法,有很多,还是需要根据你的文件大小和你的服务器配置高低来判定那种方式最好,最简单的肯定是从原来的服务器中下载然后在上传,这个过程我也带着大家演示一下。

远程下载

如果你原来的服务器支持远程下载传送,可以直接用远程下载的方式传输。

备份

对于一名合格的站长来说,将数据进行备份是一件很必要的工作,狡兔三窟,总要给自己留下一些后路,就算是不进行搬家,霍常亮网站默认设置的也是每周、每月、每天对不同的网站进行备份,万一你所在的服务器瘫痪了,至少还可以随时更换其他的服务器,首次配置稍微麻烦些,但真出了事,你就明白这不是谨小慎微。

linux

霍常亮之前录制过一套视频教程:linux腾讯云服务器搭建淘宝客网站实战教程,如果不知道如何配置、备份,可以看一下,很详细。

由于备份的工具很多,冷不丁的一看,还真不记得是用的哪一个账号,如果你也忘记了,可以通过上图所示的方法查看找回。

ftp

我使用的是又拍云,需要另外又拍云优惠券的小伙伴可以看下《服务器99元一年》,收集了不少服务器的优惠码,又怕云链接格式如上图所示,很简单,如果出现下图所示的提示,这个可能也是比较少见,但是部分用户也遇到过:

又拍云

首先需要检测你的账号和密码是否错误,注意上面登录的时候填写的不是你的又拍云登录账号和密码,而是又拍云的操作员的账号和密码,如下图:

又拍云操作员

如果确定操作员没有问题,在检查下链接模式(传输模式),调整为主动传输,如下图:

ftp传输模式

大部分用户默认的模式就是可以的,不需要调整,个别的用户需要。

ftp传输

下载,然后上传到最新的服务器。

宝塔

上传成功之后,对压缩包进行解压。注意解压的过程可能会比较长,千万别以为你点击解压之后,立马就进行后续操作,那样会报错的,我的文件有600M,你的如果少一些,可能会更快。

到这一步之后,你如果只是想要搬家,不需要升级数据库,那么解压后调整数据库更改解析,就算完活,我这边想要顺便将网站的discuz的版本升级一下,所以工作量稍微大一些。

下载discuz先下载最新版的discuz,然后上传到你的服务器,如果你担心你的版本和我的不一样,也可以直接安装的使用的版本。或者你在下载最新版的时候,出现各种报错,也可以直接下载我使用的版本,软件上传到霍常亮淘宝客15群 65723485,群文件。ComsenzDiscuz-DiscuzX-master 自行下载即可。

原文件在你原来的备份解压之后,在该文件夹内建立文件夹 old,旧程序除了 data , config, uc_client, uc_server 目录以外的程序移动进入 old 目录中。

网站搬家

然后将最新版的程序文件覆盖,注意默认解压后的文件是包含了升级文档之类的没用的文件,有用的其实就是upload这个文件夹,upload文件夹中的所有文件复制,然后粘贴到你原来备份文件的根目录中。

文件

如果有提示重复文件是否覆盖的,就选择是

discuz升级

然后,将覆盖好的文件,搬到你现在网站的根目录,或者也可以更改下网站对应的根目录,我建议是操作前者,更简单。

网站搬家

默认的最新的根目录如下:

网站根目录

剪切粘贴之后,尝试打开网站,你会发现会出现如下图所示报错:

数据库

这个截图是因为我是同时操作升级和搬迁,如果你只是升级,不搬迁,就不会出现扎样的提示。

那么,出现这样的截图,问题在哪里呢?

显然是因为数据库还没有操作搬迁,导入数据库,如下图,先把数据库上传:

数据库

然后点击导入。

数据库导入

覆盖之后,刷新网站,你发现还是打不开,因为数据库的信息还没有更改。找到如下图所示的目录和文件,将这里的数据库名、用户名、数据库密码更改为你的最新的密码。如下图:

discuz数据库

如果你的服务器配置没有问题,到这一步完成,网站就已经可以打开,不会再出现刚才黄色图片的报错。但是,如果你的php版本新旧主机不一样,可能还会有以下的问题:

discuz数据库

如图所示,这是因为你的新旧服务器的php版本不一样导致的,比如我最新的服务器使用的php7.2的版本,那么解决办法,可以是将php更改为7.1,或者按照下述方法进行解决

discuz报错

然后将其26~29行删除,具体代码如下图:

discuz

具体代码如下图:

discuz

删除之后,首页的报错已经消失,但是首页是空白的还是无法打开,接下来我们需要登录到网站的后台。

登录方法,在域名后面添加/admin.php

然后,出现后台登录页面,输入账号和密码还有密保问题,点击登录,然后……

有点尴尬,截图忘记保存了,大概内容如下,会提示报错:

UCenter info: MySQL Query Error
SQL:SELECT value FROM [Table]vars WHERE name='noteexists5'
Error:SELECT command denied to user 'viming'@'localhost' for table 'uc_vars'
Errno:1142

这是因为新旧数据库的名称不一样导致的,解决办法如下图:


如上图所示的位置,更改为你最新的数据库名字。

然后在登录网站后台,已经可以正常登录,但是,前台还是空白的页面,解决办法是:

discuz升级教程

更新缓存之后,网站已经可以正常打开,然后,我们检查一下每一个链接,是否可以正常跳转,还有看看网站左下角,版本号码是否正常。如下图:

discuz

ok,确实已经是X3.4,那么证明我们已经升级成功,为了安全起见,先不要更改域名解析,先检查一下搜索引擎收录是否正常访问。

百度收录在百度搜索中输入:

site:bbs.huochangliang.com

或者

domain:bbs.huochangliang.com

在下面的搜索结果中随意点击几个页面,看看是否可以正常访问,显然,我的还是无法正常访问的,如下图,会提示:404,您请求的文件不存在!

网站改版

其实这一步的问题,你不一定会有,因为这是我之前调整过伪静态的规则,在一开始论坛是搭建在windows服务器上,如果你没有我之前的经历,是不会遇到这样的问题的。

遇到问题,就要解决问题。

我们分析一下,为什么网站的链接可以直接打开,而被收录的链接无法直接访问,将两个链接复制保存,然后对比之后我们会发现,其实关键就是差了一个s,如下图:

https

一篇文章写了近5000字,有点累,不赘述原因,只说解决办法:

正常应该可以看懂吧?就是对网站开始https访问。

上图是指对于新手,第一次使用https的效果而言,如果你之前已经开启,那么可以直接将你的旧的数据拷贝过来,填写在对应的密钥位置即可。

ssl

复制粘贴后,点击保存,然后在从新查一下百度收录,然后在点击开一些链接,测试已经正常,完美解决,如下图:

网站搬家

然后在检查下是否还有其他问题,嗯,还真有,网站logo竟然又被替换为discuz官方,继续,更改。

找到logo图片所在的位置。

进入后台-界面-风格管理,如下图:

discuz更改标题

然后,更改,保存,刷新,清理缓存,在刷新,然后,哎,如果你看到的是如下图所示的页面,说明你的logo没写对:

discuz

问题出在哪里?因为你填写的logo不是图片的名字,而是图片的地址。

将logo所在图片前面的网址全部删除,只留下图片的名字即可,当然,你的图片必须上传到指定的目录下。

默认目录为 域名/static/image/common/

比如我的logo上传位置

https://bbs.huochangliang.com/static/image/common/watermark.png

那么图片logo就填写如下图:

discuz水印

再打开首页,完美解决。

霍常亮论坛

然后,再看看标题,果然,不出我所料,升级最新版discuz之后,一定会恢复为默认的格式,那么,如果你想要删除标题后面的Powered by Discuz!呢?

解决方案如下:

更改discuz标题

更改位置如下,其实看一眼就明白:

discuz

老规矩,更改之前先备份,更改之后清理缓存,然后刷新,首页:

霍常亮论坛

完美解决,至此,应该没有其他的问题了。

声明:本文为原创,作者为 霍常亮,转载时请保留本声明及附带文章链接:https://www.huochangliang.com/2018/10/31084