Posts Tagged ‘dreamhost’

创建你的电子邮件联系页面

星期六, 八月 16th, 2008

无论是一个网站还是一个博客,站长与网友的互动,不但需要有一个QQ、Email,更需要一个在线的即时Email联系表单。在Wordpress博客中有很多插件能够实现这种功能。但如果发送一个邮件都得调用WP程序的话,速度慢、安全系数不高,不如单独创建一个联系页面。

创建一个feedback.php 页面

  1. <?php
  2.  
  3. $email = $_REQUEST['email'] ;//留言者的Email
  4. $message = strip_tags($_REQUEST['message']);//留言信息,去除HTML标记
  5. if(!empty($message)){
  6.     mail( "username@example.com", "Feedback Form Blog", $message.'From:'.$email , "From: username@example.com");//调用系统函数 mail() 发送邮件。
  7.     //第一个参数是接收者,第二个参数是标题,这里设置了固定的标题,第三个是留言信息,第四个实际上设置了发送者的邮箱,为了防止被邮件系统误判为垃圾邮件,且安全起见,最好不要用用户直接输入的邮箱。
  8.     header('Location:http://photozero.net/thankyou.html');//留言完转到感谢页面
  9. }
  10.  
  11. ?>
  12.  
  13. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  14. <html xmlns="http://www.w3.org/1999/xhtml">
  15. <head>
  16. <meta http-equiv="Content-type" content="text/html;charset=utf-8" />
  17. <title>Feedback</title>
  18. </head>
  19. <body>
  20. <!-- 创建一个提交信息的表单 -->
  21. <form method="post" action="feedback.php">
  22.     您的邮箱: <input name="email" type="text" /><br />
  23.     意见或建议:<br />
  24.     <textarea name="message" rows="15" cols="40"></textarea><br />
  25.     <input type="submit" value="提交" />
  26. </form>
  27. </body>
  28. </html>

需要有几个需要注意的地方。
1.mail() 函数。不是所有的空间都可以使用mail()函数的,要取决于所在的服务器是否有正确设置了sendmail,否则即使使用了mail()函数也是无法发信的。创建这个页面后最好自己试一下能否使用。一般来说,国外比较大的空间,如我用的Dreamhost,mail函数都配置得挺好的,可以直接用。而国内很多空间的服务水平很差,很多函数、PHP库都没有设置、启用。我曾经用过的某个国内空间就是这样,(甚至连 iconv 这个很重要的函数都不支持,PHP版本居然还是 4.2.5的,我问他们技术支持,让他们升级PHP版本,他们却无动于衷)如果mail() 函数无法使用,则可能需要使用一些第三方的MAIL库或MAIL类,我也没试过,下回找一个

2.编码。国内很多邮箱是采用了GB2312等编码,建议在mail()函数的第四个参数(邮件的HEADER)设置一下,如这个代码来取代mail函数

  1. function mailer($to,$subject,$content,$header = ""){
  2.     $header .= "Content-type: text/plain; charset=utf-8 \r\n";//设置邮件编码
  3.     $header .= "Content-Transfer-Encoding: 8bit\r\n";
  4.     $subject = "=?UTF-8?B?".base64_encode($subject)."?="; //对标题进行编码,
  5.     @mail($to,$subject,$content,$header);
  6. }
  7. mailer( "username@example.com", strip_tags($_REQUEST['title']), $message.'From:'.$email , "From: username@example.com");

其他CSS之类的自己随便做一下就好了,挺简单的吧:)

PHP中的UNZIP(解压缩)

星期四, 八月 7th, 2008

Linux系统一直对ZIP格式提供了良好的支持,在Linux系统中有unzip命令可以解压缩文件包,这对于使用SSH在Dreamhost上搭建博客的朋友是一个十分方便的功能。此外,7ZIP(推荐,开源免费)与WinRAR是常用于Win系统上的ZIP压缩/解压缩软件。在PHP中我们该如何使用压缩和解压缩功能呢?

上回我做了一个一键下载WP主题的插件Get_Theme,代码核心的两部分分别是下载与解压缩。下载比较简单了,通常是用file_get_contents(FILENAME); 这函数或者用 fsockopen 函数下载即可,可解压缩部分就比较复杂点了。由于我对ZIP也算是一无所知,唯一知道的就是PHP似乎内置了对ZIP/UNZIP的支持。后来一查文档才发现,这个功能需要加载额外的DB库,并且有些主机不支持。还好网上提供了很多不需要加载库的解决方案。

第一次用了PHPMYADMIN里面的unzip库。如果有本地用XAMPP搭建测试平台的不妨到 phpMyAdmin/libraries 目录下,找到 unzip.lib.php,里头有个 SimpleUnzip 的UNZIP类,它的作用是将一个ZIP文件解析出一个二维数组,这个数组中每个文件又是一个数组,数组中包含了路径、文件数据、创建时间等信息,解出数组后还要根据每个文件的路径判断是否需要新建文件夹等。后来我用这个类在本地的PHP环境中测试了一下,工作得不错。但当我把它上传到Dreamhost空间进行测试的时候却出现了问题。当我从Wordpress主题站下载主题进行测试解压时,解压后的每个文件均能被正常识别、创建,但文件里的内容都是乱码。我一直不解其中原因。后来我想起7ZIP里面有个似乎可以查看压缩算法的功能,看了一下,算法好像都是 Deflate。而下面的主操作系统信息引起了我的怀疑。我在本地压缩的几个主题包的主操作系统都是 FAT ,而WP主题站下载的主题的主操作系统都是 UNIX ,可能是由于数据的存储方式不同导致了这个问题。 而后我又记起了WP自己拥有的插件升级功能,必然也需要用到UNZIP功能,在WP的文件里找了一下,终于找到了一个UNZIP类,它位于 wp-admin/includes/ 下的 class-pclzip.php 用这个 PclZip 类很容易地解析出了ZIP包的内容,同样需要进行创建文件夹、文件等操作。

这里说一下大概过程,假设有个$archive_files数组,里面有数个$file数组,$file里是真正的每个文件的数据,如$file[filename] 是文件名(包含文件路径,有可能是 file.php 也有可能是 /dir/file.php),$file[content]是文件数据,还有创建时间修改时间等就不列了。

有了文件名首先把它连上绝对路径,用file_exists()或is_dir()的函数判断路径是否存在,不存在就要创建。判断的时候还要注意有可能存在多级文件夹未创建的情况,所以应该先用 explode 函数分解成几个数组,用个for循环把每级目录都判断一遍,不存在则创建。

接下来就是用文件函数创建函数了。

各国域名趣闻

星期三, 七月 30th, 2008

我目前在做一个WHOIS查询程序,这个查询程序不同于其他WHOIS查询服务最大的特点就是号称能够查询到世界上绝大多数域名的WHOIS,.com/.net/.org/.cn/.com.cn/…这些都不用说了,美国的.us ,欧盟的.eu ,德国的.de ,英国的.uk ,日本的.jp ,韩国的 .kr ,亚洲的 .asia ,移动的 .mobi ,以及国内很容易注册的 .cc等都能准确查询,难能可贵的是还提供了其他一些少见的国家域名查询,例子就不举了,举出来大家可能也不太了解 :)IANA提供了世界上所有顶级域名的列表,这里面的域名90%都可以查询了,除了极少数没有提供WHOIS查询的以外。

Whois查询服务地址 http://www.neekey.com/whois/ ,架在Dreamhost主机上, DH的联网速度可比我在本地测试的福建电信快多了,整体测试了一下,速度、效果还不错的,希望您也试试。如果有BUG或CSS/JS错误,可以在这里给我回一下,谢谢了!

这里记下我在制作过程中遇到的比较有趣的事。(以下NIC指Network Information Center,一般是域名管理机构)

  • 最少域名的国家顶级域名

.kp 我们亲爱的朝鲜战友,您可以Google一下 site:kp ,不多不少,正好三个结果,两个域名。域名分别是他们的官方宣传网站和他们的NIC(相当于我们的CNNIC)。而且,他们的服务器都是架设在德国的。其中他们NIC主页上仅写着这几个字:

.kp ccTLD whois and registration services
comming soon …

当然更别提应该去哪里注册的问题了。

  • 最多域名的国家顶级域名

不用说了.cn(是国家之中最多的)。

  • 最有经商头脑的国家

.tt 特立尼达和多巴哥,位于北美洲西印度群岛,关注世界杯的朋友都知道他们参加了06年世界杯,登陆他们的NIC首页,其他的不吸引人,唯独无处不在的Google Adsense广告吸引了我。此外,他们的注册费用分本国人和外国人,本国人每3年 $50,外国人就要翻倍 $100了(不知道是什么货币),二级域名还要另外收费,您说他们精明么?

  • 最有经济头脑的国家

您没看错,这里的经济头脑和上回的经商头脑被我定位为不同的概念,我认为经商头脑是他们经营上有赚钱的妙招,至于经济头脑,那就是全盘一锅端卖了。典型:.la (老挝), .cc (太平洋岛国Cocos (Keeling) Islands),.me(黑山)很多岛屿小国、落后国家即便人口稀少,经济落后,依然从 ICANN那里分配到了自己的顶级域名,而限于经济落后,与其浪费了资源,不如卖给国外(主要指美国)的企业去经营,从那里赚点钱回来。像美国的Verisign(也是经营.com的机构)就在经营.CC,而国内很多人注册的 .la也是被美国公司买了,他们的NIC首页原本是 www.la ,估计后来来这网站的都是在找Los Angeles(美国城市洛杉矶)的消息,当我访问www.la的时候,直接跳转到 www.la.com 去了。。

  • 最危险的顶级域名

这不是我说的 :) McAfee买咖啡杀毒软件(以前常在戴尔的广告中看到买电脑+100多送的杀毒软件,我没用过)发布的报告说,.hk域名是世界上最危险的域名,19.5%的.hk的网站存在安全隐患。当然,我们可爱的.cn域名紧随其后。我估计McAfee的统计应该有些误差,而且还挺大的。估计香港几百万人就有数十万人用McAfee吧,而大陆使用的人太少吧?我怎么也觉得CN域名应该是独占鳌头,鹤立鸡群,傲视群雄。。

  • 最小气的国家域名

这里说的几个是没有提供或限制WHOIS查询服务的顶级域名。不提供WHOIS查询服务可能是出于隐私的保护或者是对域名注册商利益的保护。如 .es(西班牙),.ac(查询结果只告诉你可否注册而无注册信息),上文提到的 .kp 的WHOIS服务器根本就已经倒闭了。以及 cn的WHOIS服务器,抽风似的时而没有响应,时而正常,估计是限制了非注册商IP的查询。

  • 下属子域名最多的国家域名

(我的理解是近似于最爱钱的域名).pl (波兰)pl,com.pl,net.pl,org.pl,aid.pl,agro.pl, atm.pl,auto.pl,
biz.pl,edu.pl,gmina.pl,gsm.pl, info.pl,mail.pl, miasta.pl,media.pl,mil.pl,nom.pl,pc.pl,priv.pl realestate.pl,rel.pl,shop.pl,sklep.pl, sos.pl,targi.pl,tm.pl,tourism.pl,travel.pl, turystyka.pl
都是它的二级下属域名。与之相争的恐怕也只剩 .cn 了。除了.com.cn /.net.cn /.org.cn外还要有各省市的域名,如北京的要弄个 bj.cn ,上海的要弄个 sh.cn ,全国三十多个省市自治区直辖市特别行政区,圈钱好方法啊!

  • 下属子域名最少的国家域名

.us 我想这个争议是最小了。你看他的政府部门有顶级的 .gov ,军事部门有顶级的 .mil ,教育部门也有顶级的 .edu 都是他家专用呢,他还有必要搞什么 .gov.us , .mil.us 吗?当然也有些国家只提供了顶级的 .xx域名而没有 .com.xx。

  • 最搞怪的国家顶级域名

br.com,cn.com,eu.com,hu.com…称它为国家顶级域名有点搞怪,其实是一些国外商业公司抢注了比较有价值的国家.com 域名,然后再出售三级域名,如 xxx.cn.com ,可是照样获利颇丰。个人感觉无耻了点。。还有 .cn有个二级域名叫 hk.cn 意思就是香港.cn的域名,可人家香港都有自己的顶级域 .hk 了,你说CNNIC可笑不可笑?类似的还有 mo.cn(澳门),tw.cn(台湾)

  • 最无耻的保留名

有的顶级域名为了保护、限制某个特殊行业或特殊名称,会把一些域名保留起来,如 sex等。可最无耻的保留名是啥,您猜猜?我想是baidu.net.cn 。当我查询baidu.net.cn是否可注册的时候,返回”Sorry, the domain you want to register is reserved.”

OK,全文完,有看法?下面回复。谢谢 :)

如何获取Alexa排名数据

星期一, 七月 28th, 2008

上回说到Alexa的排名数据来源于Alexa工具条,所以排名数据并不十分准确,特别是对于中文网站来说,国内装Alexa工具条的多是被某些网站“误导”的用户以及一些网站站长,所以很多人也对Alexa数据不以为然。在目前情况下,Alexa的排名还是和Google PR一样被广告商们看重的数据和作为衡量网站广告投放价值的依据。

这里讲讲如何获取Alexa的数据排名。最简单的莫过于装上Alexa提供的工具条了,Alexa提供了Firefox和IE的版本,但纯粹为了看一个网站的排名而安装这个插件显得有点浪费资源。我在Firefox浏览器用的是SearchStatus这个插件,这个插件同时显示了Google PR和Alexa排名,占用位置也不大,用起来比较方便。

本文着重要讲的是如何使用从Alexa的服务器下载数据,并进行分析后应用于WP插件或提供给访客(如 http://alexa.chinaz.com/这样的服务)。Alexa官方提供了收费的API接口,每千次查询$0.15(上回凭印象说是$0.1,更正一下),既然要收费,肯定没有多少人愿意花这钱了,特别在我们中国人看来更是难以理解,照理说用你Alexa的数据应该是相当给你面子,给你人气,你还要向我收费?还好早就有人破解了Alexa工具条(貌似很多国内网站强迫要求下载的Alexa工具条还经过改装,拥有木马功能了),并把它的服务器接口盗取出来分享给大家了。

接口一:

http://data.alexa.com/data/+wQ411en8000lA?cli=10&dat=snba&ver=7.0&cdt=alx_vw=20&wid=12206&act=00000000000&ss=1680×1050&bw=964&t=0&ttl=35371&vis=1&rq=4&url=http://www.baidu.com

接口二:

http://data.alexa.com/data/TCaX/0+qO000fV?cli=10&dat=snba&ver=7.0&cdt=alx_vw=20&wid=31472&act=00000000000&ss=1024×768&bw=639&t=0&ttl=4907&vis=1&rq=23&url=http://www.baidu.com

接口三:

http://data.alexa.com/data/ezdy01DOo100QI?cli=10&dat=snba&ver=7.0&cdt=alx_vw=20&wid=16865&act=00000000000&ss=1024×768&bw=775&t=0&ttl=1125&vis=1&rq=2&url=http://www.baidu.com

接口四:

http://data.alexa.com/data/+wQ411en8000lA?cli=10&dat=snba&ver=7.0&cdt=alx_vw=20&wid=12206&act=00000000000&ss=1680×1050&bw=964&t=0&ttl=35371&vis=1&rq=4&url=http://www.baidu.com

事实上,分析一下这些地址可以看到它已经将用户的浏览器信息,系统信息等发送给了服务端。

ezdy01DOo100QI是aid。
“cli=10&dat=snba&ver=7.0&cdt=alx_vw=20&”这部分是固定值。
wid是个随机数。
act数据包含了Alexa Toobar功能的被使用情况。
ss很明显是屏幕分辨率了。
bw是IE窗口的宽度。
t取值是0或1,和当前IE的window对象还有referrer有关。
ttl是当前页面打开速度,和Site Stats中的Speed有关。
vis表明IE是否显示工具条。
rq是对象计数器。

有了这些接口,我们就可以提供Alexa排名查询的服务了。

访问任意上述地址任意一个,查询baidu.com的信息,返回XML文件如下:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2.  
  3. <ALEXA VER="0.9" URL="baidu.com/" HOME="0" AID="=">
  4. <RLS PREFIX="http://" more="315">
  5. <RL HREF="www.3721.com/" TITLE="3 7 2 1"/>
  6. <RL HREF="search.21cn.com/" TITLE="21CN"/>
  7. <RL HREF="itsearch.ccidnet.com/" TITLE="itsearch.ccidnet.com/"/>
  8. <RL HREF="e.pku.edu.cn/" TITLE="e.pku.edu.cn/"/>
  9. <RL HREF="21cn.com/" TITLE="21cn.Com -"/>
  10. <RL HREF="163.com/" TITLE="163.com/"/>
  11. <RL HREF="search.163.com/" TITLE="search.163.com/"/>
  12. <RL HREF="dir.sohu.com/" TITLE="dir.sohu.com/"/>
  13. <RL HREF="cn.search.yahoo.com/" TITLE="cn.search.yahoo.com/"/>
  14. <RL HREF="yahoo.com/" TITLE="Yahoo!"/>
  15. </RLS>
  16. <SD TITLE="A" FLAGS="DMOZ">
  17. <TITLE TEXT="Baidu.com"/>
  18.  
  19. <ADDR STREET="The Ideal International Bldg, 12th floor" CITY="Beijing 100080,  " STATE="" ZIP="" COUNTRY="CHINA" />
  20. <CREATED DATE="11-Oct-1999" DAY="11" MONTH="10" YEAR="1999"/>
  21. <PHONE NUMBER="+86 1082607100"/>
  22.  
  23. <OWNER NAME="Baidu.com, sillyser"/>
  24. <EMAIL ADDR="baidu_dns_master@baidu.com"/>
  25. <LANG LEX="zh-CN"/>
  26. <LINKSIN NUM="58665"/>
  27. <SPEED TEXT="1062" PCT="82"/>
  28. <POPULARITY URL="baidu.com/" TEXT="11"/>
  29. <RANK DELTA="-2"/>
  30. <CHILD SRATING="0"/>
  31. <REACH RANK="13"/>
  32. </SD>
  33.  
  34. <KEYWORDS>
  35. <KEYWORD VAL="Chinese Simplified"/>
  36. </KEYWORDS><DMOZ>
  37.  
  38. <SITE BASE="baidu.com/" TITLE="Baidu.com" DESC="The leading Chinese language search engine, provides “simple and reliableâ€? search experience, strong in Chinese language and multi-media content including MP3 music and movies, the first to offer WAP and PDA-based mobile search in China.">
  39. <CATS>
  40. <CAT ID="Top/World/Chinese_Simplified/计算机/互联网络/搜寻/搜索引擎" TITLE="搜寻/搜索引擎" CID="1005774"/>
  41. </CATS>
  42. </SITE>
  43. </DMOZ>
  44. </ALEXA>

开头包括了一些反向链接的网站,中间是网站排名等信息,下面是网站介绍,网站管理员可以向Alexa添加这些信息。如果是比较不知名的小站,如我的http://photozero.net 信息就没有那么全了。

在前面的文章里提到了,调用Neekey API servicesAlexa rank显示图片还会提升Alexa排名,实际上指的就是在调用Alexa数据时,我们是模拟Alexa工具条进行查询的,所以你的博客的Alexa排名自然就提升上去了,不信您试试?我在Firefox里装上SearchStatus插件后,每天访问自己的博客一会儿,眼睁睁看着Alexa排名从300W排名开外冲到目前的110W。

PHP中获取文件排名的方法

  1. $content = file_get_contents('$alexaURL'); //自行将URL放入,如果服务器的file函数没有开启ALLOW_URL_OPEN 选项(如Dreamhost),应该用 fsockopen 等函数替代。
  2. $pattern = '/<POPULARITY URL="\s*(.+?)" TEXT="\s*(.+?)"\/>/'; //在XML中匹配的 <populartity />项里面的数据就是Alexa排名了
  3. preg_match($pattern, $content, $match); //进行匹配搜索
  4. echo $match[2]; //$match[2] 就是排名了。
  5. //如果需要其他信息就自己写个匹配模式,从里面提取出来就行了。当然用PHP提供的XML处理函数也是可以的。

除了在服务端调用进行输出外,做个AJAX调用的查询程序也不错,还节省了服务器资源。下次抽空做个放出来。

国外网站大规模无法访问

星期一, 七月 7th, 2008

昨天(7月6日)下午4时许,当我像往常一样打开本博客(http://photozero.net)时,发现博客无法访问。我的第一感觉就是服务器宕机,我的博客所在的Dreamhost曾经也过因电源故障全体停机的事件,又PING了一下,每次都是请求错误。

我又怀疑会不会是GFW搞的鬼,用ORZIN上代理,发现许多国外代理都是无法使用,最后终于成功上了某个代理,却能够正常访问我的博客。晕!真被GFWed了!我对毛主席发誓我没写任何与他们政见不同的文章,也没有什么儿童不宜、暴力犯罪的内容!我立刻联系了和我合租的朋友,问他是否能更换服务器IP,他告知我,不只Dreamhost无法访问,Bluehost等许多国外网站都无法访问,有可能不是GFW搞的,让我再等等。

我又上了包括 wordpress.org , feedburner.com , bluehost.com 等国外站点,这些平时能够访问的网站均无法访问;只有少数如Google能正常访问。看来无论是什么原因,肯定和GFW脱不了干系!而据其他博友反应,几乎只有中国电信的用户会发生这个问题,而中国网通、教育网尚未出现这个问题。

我被这件事搞得晕头转向,差点就写了一张大字报批斗GFW,由于不能访问博客,又没有设置邮件发送文章,暂时还没有发布出来。今天早上能够正常访问我的博客与其他国外网站后,我要告诉朋友们,千万别急,别一急就喊“我走了”,更不能就冲上街上闹事,要相信ZF,ZF会给我们秉公处理的。以后如遇类似时间请第一时间报告公安机关,通过法律手段解决这些问题,与人民群众作对是“中国电信”、“中国网通”等,ZF还是坚决维护人民利益的,为人民服务嘛!

Get_OPML 插件设计思路分析

星期三, 七月 2nd, 2008

做这个插件的起初想法是想把自己的好友RSS全部导入到抓虾里面去。我记得刚注册抓虾的时候,把博客地址填进去,它就自动抓取所有好友的RSS,挺方便的。后来不小心被我删除了,再怎么弄也弄不回去了,于是我就萌发了做一个提取所有好友的RSS地址的插件的想法,接下来就开始做了。

这个插件分为几个部分:

1.从数据库中提取所有链接的URL。这个就用一条SQL语句,从 wp_links 表中提取这些数据就好了。

2.根据好友URL去下载他的首页。这个说起来本是一件很简单的事,PHP里面有 file_get_contents() 这个函数,可以自动把远程文件的数据存入一个变量中。这个函数需要服务器开启 allow_url_fopen 这个选项。自己的测试环境一般都是开启的,但偏偏国内很多人用的Dreamhost空间默认关闭这个函数,只好改用 fsockopen() 这个函数来实现,当然,这个函数功能比file_get_contents()强大多了,fsockopen() 可以自己构造Header这些,就仿佛是一个真正的访客在浏览一样,而file_get_contents()就比较简单了。关于fsockopen()我用了IT柏拉图写的 fsockopen HTTP下载类,比自己写一大段代码简单多了,当然,代码功能虽然强大,但东西也就多了,里面也有很多我根本用不到的东西,主要的文件17KB估计有10KB都是这个类的。估计下一次更新时写个更简单的fsockopen 类,够用就好。

3.从文本中提取RSS地址。这一步的关键在于能否写出一个好的正则匹配函数,我自己自然是写不好,搞了半天也搞不定,后来上网找了一个,分析一下,基本上都OK了。

有了这些还要组装起来,那可就真麻烦了,如果有100个友情链接,如何一次性提取100个网页?刚开始的时候,我还真以为一个循环就好了,但看着程序已经运行了一个小时超时后,才算出6个RSS地址,我否决了这个方案,一次不能提取太多,干脆一次就提取一个,提取成功后放到数据库里,向浏览器输出页面,浏览器再自动转跳下一个操作中。这样做就避免了服务器超时的麻烦,当然,这样做实际上是一直在看同一个页面,看起来很单调,下一版估计采用AJAX方式。在全部RSS地址提取完成后,在根目录生成一个opml.xml文件就算完成了 :)

Dreamhost之死

星期六, 三月 8th, 2008

    我用的博客空间一直都是Dreamhost,这是我在Mutex处购买的合租空间,一年10G接近100块,虽然第一年DH主机价格最低可以在200G/200左右,但第二年以后就恢复了原价,而且说实话,10G/100的价格也不能算贵,淘宝上的那些卖家都基本上1G/50甚至更高,真够狠的!

    再说Dreamhost吧,一个相当不错的主机提供商,提供LAMP(Linux+Apache+MySQL+PHP)类型的主机,一向以价格低廉,服务器稳定而著称,传说中用户有百万之多。虽然如此,但它的用户对它褒贬不一,说好的,把它认为是世界上最好的虚拟主机商;说差的,也有骂它是骗子之类的。不过据我个人的感受来说,DH主机与国内的主机相比,真是胜出一大筹。

    在价格上,DH标价 500G/5.95美元每月,折合RMB500元/500G/年,而国内的500元/5G/年 已经算相当便宜了,更别说像万网、新网这样500元/500MB/年的杀猪价了,显然在价格上,DH已经胜出了。

    在服务器稳定性方面,国内的服务器更不能跟DH比,我自从用DH主机半年多以来,仅仅挂过两次(包括今天的这次挂机),而国内的某个IDC,几乎每个星期都有那么几个小时“服务器维护”,而国内的IDC普遍存在相同的问题。

    DH主机优惠的价格自然有优惠的条件,一台主机上挂着上万个网站(但一个IP仅仅数个网站,一台主机有多个IP),所以一旦挂了,就会激起强烈的民愤。 恰巧今天,DH就遭遇了大规模停机事件,以往DH也偶尔遭受停机时间,官方宣称主要是由于电源方面的缘故(像DH那么大的主机商一般有自己的柴油发电设备或专门的发电房)。有人说美国经济一打喷嚏,世界经济就会受到影响;用在互联网上,DH一打喷嚏,互联网就遭殃,这句话肯定不假。DH一停,无数站长就开始抱怨。。。

    话说回来,DH宣称99%时间在线,意味着1年里面有2-3天“放假”也是合理范围之内,总比国内有些IDC号称100%时间在线,实际上不到80%的好多了。

玩转Dreamhost的SSH

星期天, 十二月 30th, 2007

许多人使用Dreamhost的空间,我也用了差不多4个月了吧,也有些关于SSH的小技巧分享一下。

许多人想在Dreamhost上安装Discuz或者是Wordpress.怎么办?还用到官网上下载来解压后一个个文件用FTP传吗?太慢了。告诉你一个只要5分钟搞定的方法,用SSH。

什么是SSH?一句话解释就是,使用类似于DOS的代码来操作Linux服务器端。

Follow Me!

Step1.
下载PUTTY这个小工具。 https://gro.clinux.org/frs/download.php/1876/putty.zip
就像使用FTP工具或者DOS一样,看到的也是黑乎乎的界面。

Step2.
执行这个文件,它会要求你输入服务器地址,比如 delorean.dreamhost.com 选 SSH(22) 连接。

Step3.
使用你的FTP帐号密码登入,一开始会出现“ Login As : ”的时候输入用户名,接下来输入密码,请注意,输入密码后屏幕没有反应,不要以为是没输入:) 回车后会看到欢迎界面;

Step4.
正式开始了。
首先要下载一个文件压缩包。比如Wordpress2.3.2的下载地址是
http://wordpress.org/wordpress-2.3.2.zip
在这个窗口中输入
wget http://wordpress.org/wordpress-2.3.2.zip
wget 就是从Web上Get一个文件的意思啦:)
一切正常的话,只要几秒钟就能下载完了。这时候你在FTP的根目录就会看到这个文件包!下载一个Wordpress 1M 的压缩包几乎只要 1秒!
如果你要装Discuz 或者是 Phpwind 之类的同样是这个方法,把URL改成那个文件的URL就可以了。

Step5.
接下来是解压缩啦。用 unzip 命令,如
unzip wordpress-2.3.2.zip
就会将文件包里的内容解压到目录下。接下来就是自己安装了。

OK!短短几步,不到5分钟就弄好了Wordpress的安装!