urcar 论坛从2004年6月1日正式上线,到今天,已经度过了将近6年的时光了,urcar论坛一直是一个独立服务器,想当初我还自己开公司的时候,一个小服务器对我真是不算什么,当初还有车友捐了一个25G的SCSI的服务器专用硬盘,如今,他已经使用了91%的空间,进22G的图片&数据文件,这次cnnic备案,以及工信部备案,让我对urcar的服务器越来越不满意,其一,2004年的服务器相当陈旧,还是p3级别的吧~~ 内存也小,其二,硬盘空间已经濒临崩溃,其三,数据库版本比较老,优化不足,导致mysql查询效率比较低,其四,也是最重要的一点,独立服务器的费用太高,我不开公司以后,每年都需要车友自发组织捐款,每年的数目都不少,有些车友说3000有点贵,的确,我也觉得贵,但是没有办法,大家自己算一下一台计算机300w的电,1天大概7度电,商用电1块钱一度7*365=2555 还有空间费用和网费 大家可以算算价格比较清楚了,这里面很难再有什么水分,至于独立服务器的问题,咱们论坛也有几个网管,我可以给个root账号进去看看,这台机器,连个虚机都没有,就这么一个网站,其他什么都没放。
综上,我一直盘算将urcar放到国外,其一hostmonster是全世界前几位的大型虚机服务商,虽然说虚机都不怎么稳定,但是现在中国机房质量也就那样!其二hostmonster的速度还行,对中国地区做了优化,还算能接受,当然肯定没有北京的机房快,毕竟数据要飘扬过海,其三,服务器再国外规避了很多国内的政策风险,但是也有缺点,会被强大的电信火墙干掉,但是我相信,我也不做黄赌毒,应该不会,我申请的是独立IP不和别人共用,我不做,就没事。
迁移论坛是个很大的技术工作,我一度想做,但是一度被吓回来了,服务器空间使用了92%想把数据图片打包都打不了。。怎么也得有个40%以上的空余空间才能打包那些文件吧。。一张一张穿。。2边都是linux服务器,sftp ftp 还是wget对目录支持都不是太好,而且万一断了很难再找到上个短点。。。数据库文件就更是问题,用phpmyadmin导入2M的文件都等半天,别说300多M的数据文件。。
这几天机房有抽风了,大家上不来,我更着急,痛定思痛,我一定要把urcar挪出去!我的方案如下
第一步:mysqldump -uroot -p –default-character-set=GBK –set-charset –skip-opt car1 > car1.sql
第二部:gzip car1.sql
第三步:mysql -uurcar -p –default-character-set=latin1 urcar < car1.sql
第四步:我自己写了一个cache的rewrite文件
<?php
/**
.htaccess
RewriteEngine on
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ cache.php
*/
include “mime.php”;
function mkdir_r($pathname, $mode)
{
is_dir(dirname($pathname)) || mkdir_r(dirname($pathname), $mode);
return is_dir($pathname) || @mkdir($pathname, $mode);
}
$base=dirname(__FILE__); //这个文件叫做cache.php 放到跟下,要不会出问题哦~~自己看看路径吧~~
$host=‘http://121.101.212.154‘; //looking up Host
$test=file_get_contents($host.$_SERVER[‘REQUEST_URI’]);
$file=explode(‘/’,$_SERVER[‘REQUEST_URI’]);
$fileName=array_pop($file);
$filePath=$base.‘/’.implode(‘/’,$file).‘/’;
mkdir_r($filePath,0777);
file_put_contents($filePath.$fileName,$test);
$ext=explode(‘.’,$_SERVER[‘REQUEST_URI’]);
$ext=array_pop($ext);
if(isset($mime[$ext]))
header(‘Content-Type: ‘.$mime[$ext]);
header(‘Content-Length: ‘.strlen($test));
echo $test;
这个文件可以保证所有不存在的mp3 flash images都会同步到新服务器上
第五步:将所有论坛的程序文件上传到hostmonster上
当然如果想在hostmonster上作以上操作,还需要开通ssh权限,开通的时候需要上传身份证,我上传了,等了1天,居然开了,看来中国身份证也好用。。
由于有rewirte规则的存在,urcar现在看起来所有的图片文件都存在(实际上我可是一张也没传过去过。。)
为了完成数据完全迁移,大家现在多点开一些老的精华帖子,只要点开一次,图片文件就会被cache一次,而老服务器我是租了1年的,我不会撤掉,1年以后续费的时候我们就不续费了(实际上是2010年10月份,还有8个月) 而hostmonster费用一年500大元,我出了,以后大家再也不用捐钱了!
那么现在,大家都去看看老的精华帖子吧,或者自己以前发的好的带图片的帖子,去看看。。。8个月以后,那些图片,如果一直没人看,就会消失了。。
还有什么疑问,随时可以问我。。
mysqldump的时候把所有表的autoinsert属性拿掉了。。。刚发现不能发帖了。。。还得再phpmyadmin中,手工把所有表的auto属性加上,不过这样也好,后加上的话,他的种子会从现有数据最大值算起。避免了很多麻烦
最后,由于时区问题,要在你的程序上加上设置时区的标识。
date_default_timezone_set ( ‘Asia/Hong_Kong’ );
这样,一切就都搞定了!
Recent Comments