博客搬家成功。。。

By SuperTaoer | 十二月 8, 2008
Under: 程序 技术 周边
Views:

终于忍受不了了现在的虚拟主机服务提供商: 伯汉网络,直到现在还是PHP4,mysql4.0,给他们的公司提过建议说升级吧,说是为了保持兼容不升级。。。忍了1年多,现在终于满足不了爷了,我搬还不成么???!!!

我对虚拟空间的要求是:要有shell,要能绑定多个域名,能自己定义apache的.htaccess文件等设置,php5+mysql5的linux系统,等等等等。。。经过上网比较和朋友bluetent的推荐,在 dreamhosthostmonster 中选择了hostmonster,用了ben的paypal付了美刀,先买了一年,500多大元儿,其实一下儿买两年更便宜,每年算下来不到500.

经过对后台控制面板熟悉,把常用的功能都搞定了,还不错,硬盘大,流量限制小,数据库大,无限域名绑定,支持shell,hoho~,由于空间在美国,还不用TNND ICP备案了。。。
速度么,你现在看到的就是从美国服务器给你传回来的,挺快的也。。。

我也推荐!!!

另外在这次搬家过程中也学到了一些dd,
1.mysql4.0 到 mysql5.0的转换,用phpmyadmin可以无损数据进行转移,我下面简单文字说明下,
这个link中有更详细的图文并茂的方法,需要的朋友可以去看看。。。
用phpMyAdmin时在导入和导出MySQL5数据时,有一个SQL compatibility mode选项,其可选值为NONE、ANSIDB2、MAXDB、MYSQL323、MYSQL40、MSSQL、ORACLE、TRADITIONAL。这是MySQL解决导入导出数据时不同数据库类型或者版本SQL语句不同的问题。MYSQL40选项明显是为了解决和MYSQL4.0数据迁移问题,但是用phpMyAdmin管理MySQL4.0(版本是4.0.25)时,则没有SQL compatibility mode这个选项,应该是不支持吧。

MySQL的默认编码是latin1,而从MySQL4.0中导出数据的SQL语句并没有编码声明(《利用phpMyAdmin把wordpress数据从MySQL4迁移到MySQL5》),所以如果从MySQL4.0中导出数据的编码不是latin1,比如是utf8,那么直接导入到MySQL5中编码会是默认的latin1而出现中文乱码。所以操作步骤如下:

用phpMyAdmin从MySQL4.0中导出所需的数据表,并勾选上“zip压缩”或“gzip压缩”,这样导出的数据量小。

用phpMyAdmin在MySQL5中创建一个新的数据库,注意需要声明编码为实际编码,比如utf8。如果不声明编码,那么导致导入的数据编码全部是latin1,而出现中文乱码,无法简单修正。
在import页面把从MySQL4.0中导出的数据导入,注意选择字符集和SQL compatibility mode模式为MYSQL40,这样整个数据就导入成功了。

由于MySQL默认编码的原因,直接导入整个数据库则无法设置其编码,从而导致中文乱码,所以第1步要求导出的是数据库中的表而不是整个数据库,要想导入整个数据那么需要修改MySQL的默认编码,修改安装目录的下的my.ini文件(Unix下是my.cnf)中对Client和Server的编码声明,然后重启服务即可:default-character-set=utf8

2.把一个网站从动态的网站变为静态网站,由于以前给一个患白血病朋友做的网站现在已经不在更新,只是继续提供浏览的服务,这样就不需要mysql和php的支持了,只是简单的纯html就行了,这个时候经同事codeant推荐了telepro软件,这个软件很不错,可以设置各种抓取目标网站的方式,并且可以原汁原味儿的保持网站目录结构,抓取下来都是html文件,将其保存,再上传到服务器上,呵呵,没变,就是纯静态的了。。。

3.把上面的网站转成纯静态后,发现telepro软件对站外的google统计的js做了处理,处理后变成了,

  1. <script src="../www.google-analytics.com/urchin.js" tppabs="http://www.google-analytics.com/urchin.js" type="text/javascript">

当然找不到了,虽然软件将这个js下载下来了,但是我并没有上传这个目录,并且这个仍然是需要调用远程google统计的js,于是上网搜批量替换的命令,如下:

用perl命令批量替换文件里面的内容
用一个命令批量替换文件里面的内容
只需下面这条命令:
perl -pi -e ‘s|ABCD|Linux|g’ `find ./ -type f`
将调用perl执行一条替换命令,把find命令找到的所有文件内容中的ABCD替换为Linux
find ./ -type f
此命令是显示当前目录下所有的文件
上面的“s|ABCD|Linux| g”是perl要执行的脚本,即把所有ABCD替换为Linux
如果不写最后的那个g,“s|ABCD|Linux| ”将只替换每一行开头的ABCD

很简单,很方便。。。

以上。。。
欢迎朋友们就hostmonster,程序技术等问题与我交流探讨。。。

差..好文!! (还没评价)
Loading ... Loading ...

Leave a Message

2 Messages

 

[...] SuperTaoer:: Thanksgiving . 当一个垂危的病人无助的望着你的双眼,你会握住她的手,告诉她,上帝现在冬眠么? 十二月8, 2008. 博客搬家成功。。。 文章类别: 程序技术 — SuperTaoer @ 1:04 am. 终于忍受不了了现在的虚拟主机服务提供商: 伯汉网络, …[Continue Reading] [...]

 

RSS feed for comments on this post. TrackBack URI

Leave a Message