Discuz X3从windows迁移到linux

由于各种原因,此处省略1000字,决定将站点从windows搬迁到linux环境。操作之前请做好备份!站点使用Discuz X3 ,简单说一下站点环境情况:

原系统环境:

操作系统:Windows Server 2003 Web服务器:iis6 数据库版本:mysql:5.077-community-nt

新系统环境:

操作系统:centos5.5 (无奈服务商只有这个) Web服务器:Nginx/1.4.1 数据库版本:Mysql 5.5.33-cll-lve 因为那省略1000字的原因,站点无法采用discuz的方案登录后台进行数据备份,最早的数据备份也是今年6月份的,这也是没能使用discuz官方论坛提供搬家方案的重要原因。所以各位请记得做备份,这个确实很有用。无奈只能采取最原始的办法,直接打包站点数据,数据库文件下载到本地。

操作流程:

1、配置好LNMP环境,做好测试,确保环境没有问题; 关于环境配置有很多可选方案,比如lnmp一键安装包,但是现在一键安装包php版本并不是5.4。据说PHP5.4版本对性能做了很大的优化,所以我放弃使用一键安装包。这个看个人选择。 2、上传程序到Nginx的html目录; 找到Nginx的html路径,将站点问价解压到此,还可以自己建个链接到自定义的路径,这个看个人需要。 3、上传数据库文件; 依旧是找到数据库文件所在的路径,然后将数据库解压到此目录,然后给数据库添加用户赋权限,然后更改文件夹为权限为777。这样操作最终是失败的,由于数据库已经有mysql 5.0升级到mysql5.5,会在数据库问题处理中介绍。 4、修改配置文件; 完成上面的操作之后就可以修改DiscuzX3配置文件了,按照我们的操作只需要修改UC_DBHOST、UC_DBUSER、UC_DBPW、UC_DBNAME,其他配置看个人需要自行设置。

[xml]
/wwwroot/config/config_global.php
/wwwroot/config/config_ucenter.php
/wwwroot/uc_server/data/config.inc.php[/xml]

   完成以上操作后重启nginx,相信你应该可以看到那个熟悉的站点了,如果你点击链接的话有可能出现404错误,这往往是由于你开启了SEO设置导致的,当务之急先进后台,关闭掉seo,更新一下缓存,基本正常。但是问题还会出现很多和数据库相关问题,如果你google一下错误往往给你建议是使用tools工具进行修复,或者phpMyAdmin进行处理,我都试过,结果一试一个错。试完之后站点彻底无法访问,全是数据库错误。 5、数据库问题处理:        别着急,问题就在于数据库版本差距太大,而且现在还两个不同系统。所以最好的办法莫过于直接导出数据库脚本,然后在linux上导入数据库。在自己的机器上安装一个相同版本的数据库导数据脚本: 例如将数据库mydb导出到e:\MySQL\mydb.sql文件中: 打开开始->运行->输入cmd 进入命令行模式,跳转到mysql安装目录bin目录下执行:

[shell]MySQLdump -h localhost -u root -p mydb >e:\MySQL\mydb.sql[/shell]

然后输入密码,等待一会导出就成功了,可以到目标文件中检查是否成功。操作完成之后上传文件到linux,然后删掉原来的数据库,新建一个同名数据库,注意字符集,避免乱码。接着上面的例子将执行以下操作:

[shell]>use mydb;
>source /tmp/mydb.sql[/shell]

执行完以上操作,试着打开网站,应该可以正常访问了。 PS:此次操作实属无奈之举,在操作之前请务必做好数据备份。建议大家按照官方的操作方法进行。 Discuz X3官方推荐的搬家指南:http://www.discuz.net/thread-2045394-1-1.html 如果你的站点也像我一样从discuz最初版本一路升级上来的话,有可能会有提示缺少某个表,这些问题最好的解决方法就是直接到Discuz官网下载相应字符集的程序,然后再upload/install/data/install.sql找到你想要的建表脚本,在mysql中执行即可.

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据