« 上一篇下一篇 »

Discuz x1.5论坛镜像

先“感谢”信息产业部,有能办拆分电信业务而没有能力使他们互联互通,使之产生具有中国特色的电信格局。在天台要是移动用户访问电信机房的服务器,那是要受到严格限制的,而访问天台之窗尤甚,电信公司对移动用户访问天台之窗有特别的“照顾”。

    现在在电信和移动的IDC机房各备有一台服务器,用于天台之窗论坛的镜像,电信用户访问电信服务器,而移动用户访问移动服务器。

    DNS采用智能解析,电信用户访问bbs.zjtt.cn访问的是电信IDC服务器,而移动用户访问bbs.zjtt.cn访问的是移动IDC的服务器。

    论坛采用MYSQL数据库,Discuz X1.5论坛。在移动IDC端,只访问代码,远程调用电信服务器的数据库,而移动IDC和电信IDC之间采用CDN技术加速,不用我去考虑。就是说二机房之间互通速度是足够快的。当移动用户访问天台之窗论坛时,用户-----移动服务器------电信服务器-------移动服务器-------用户这样的数据流。

    修改移动服务器端的论坛配置。

  1.   config\config_global.php  文件

    $_config['db']['1']['dbhost'] = 'localhost';  改成  $_config['db']['1']['dbhost'] = '电信服务器IP';

  2.   config\config_ucenter.php  文件

   define('UC_DBHOST', 'localhost');    改成  define('UC_DBHOST', '电信服务器IP');

   define('UC_IP', '电信服务器IP');

  3.  uc_server\data\config.inc.php 文件

    define('UC_DBHOST', '电信服务器IP');   

这样运行时会出现错误

ERROR 1130: Host '移动服务器IP' is not allowed to connect to  this MySQL server

说明移动服务器无权访问MYSQL数据库。

回到电信服务器

打开mysql管理界面,选中Discuz论坛所用的数据库,运行下面的语句:

表示授权IP为12.12.12.12的服务器root用户访问本数据库,密码是1234

GRANT ALL PRIVILEGES ON *.* TO 'root'@'12.12.12.12' IDENTIFIED BY '1234' WITH GRANT OPTION;
flush privileges;

这样移动服务器上就可以正常运行论坛了。

    虽然数据库这样调用解决了数据库的问题,但网友上传的附件并没有解决。要求任一服务器上传的附件必须同时在另一台服务器上存在。

    目前我还没有想出不增加硬件的方法下实时同步的办法。

    网上找到一有时间触发的FTP备份软件,可以对二台远程服务器之间互相备份,时间间隔从几秒到几天不等。我定为一分钟,每隔一分钟就去检查对方服务器有没有新的附件上传上来,有的话就传过来或传过去。就是说在另一台服务器上传了附件,一分钟内就会在另一台服务器上,这样就可以接近实时了。

 

2011-7-2