Discuz由Apache搬向Nginx的过程小记

论坛使用的是Discuz X2.5,之前一直放在一个日本主机上,环境是Apache,由于空间一直不是很稳定,近几天抽空将网站搬到一个新的主机上。

一直没怎么理会过这个网站,到临打算搬的时候,才发现数据库达100多M,空间商又限制,根本无法直接导出,实在无奈,只能后台备份,然后通过空间在线压缩功能,将网站所有程序直接打包后下载。

新主机是美国IP,面板用的是AMH,环境同样是LINUX,但WEB环境变成了NGINX了,由于之前对DISCUZ程序做了部分优化,一直没有对程序进行升级,这次搬家,打算直接升到最新版本。

过程看似很简单,上传打包下载回来的程序,然后安装一个新的DISCUZ,然后覆盖新安装文件,直接使用后台还原数据库,最后更新缓存就OK。实际上,还有很多小细节需要注意的,比如先上传程序则后面无法直接覆盖,比如之前修改过文件、伪静态规则之后,更新了,一样无法打开,还是需要排查。

这里需要注意的一个小细节,Nginx的Rewrite规则与Apache的不同,而AMH的面板又只能在面板当中去新增伪静态规则文件,所以只能新建一个规则,然后指定论坛来使用这个规则,而不是像Apache一样,直接将规则放入.haccess当中,直接上传就可以使用。

这里给出Nginx下的X2.5伪静态规则:

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]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D{prevpage}&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;
}

有需要的,自行到AMH或其它面板当中去新建一个CONF规则文件,将它填进去,然后后台去开启伪静态即可。

 

 

AMH面板

 

AMH是一个比较不错的面板,简单到让你使用上觉得找不着北,没错,就是找不着北。不过一旦你稍微熟悉一点,就能够体会它的高效和独立了。

许久没发文了,忙了许多,但不是借口。实名博客还会继续写下去,保留下去,下个月也即将将它搬到新家上去。

PS:顺便吐槽一下,360网站卫士,本身是一个非常不错的产品,它是利用360服务器的节点,来做CDN加速,并且能够防攻击和防黑,但是近期,总是服务器不稳定,不是这里服务器宕机就是那里宕机,导致网站访问极慢,宕机率极高。不推荐站长使用。现在我换回DNSPOD,一切访问都回归到原始的主机上了,一切都顺了,一切都安静了。

最后最后再吐一下槽:DNSPOD那个报警功能让我这等遇上360网站卫士的人使得宕机率极高的,直接导致了收信率极高,一天几十封甚至上百封,也许DNSPOD的@奶罩兄和团队也始终没有料到这竟然还会成为一个槽点,哈哈!

未经允许不得转载:邝金华博客 » Discuz由Apache搬向Nginx的过程小记

赞 (0)