Debian Lenny安装nginx+PHP+MySQL傻瓜手记

新搞了个VPS,打算把Blog以及全套行头迁移过来。

以前的那套图省事,用了CentOS5 Kloxo AllinOne BOX。基本上依靠这个CP搞定了全套,主要是人懒不想折腾而已。这次换了个新的VPS提供商,心血来潮想折腾Debian。所以把过程记录下来,避免以后不折腾了却忘记自己当初怎么搭。

总体思路还是采取懒汉办法,有官方源的从官方源安装,没官方源找第三方社区源,再没有的话自己做deb,无论如何,避免从源代码直接编译。

首先把最简单的MySQL装上,用官方源,一句话搞定:

apt-get install mysql-server

MySQL配置文件稍后再搞,对于小Blog来说MySQL的优化意义不大。

其次是nginx,说实话这东西不熟,不过貌似最近挺流行,Debian Lenny也将其收进官方源了,那就简单apt之

apt-get install nginx

简单netstat看一下发现80已经在监听了,访问http://<IP>发现出现欢迎页“Welcome to nginx!”,接下来就是怎么让PHP在nginx上跑起来。

很没技术含量不是,很不幸后面的也没啥技术含量。一破Blog日IP不过300折腾个什么劲啊,不就是一个玩儿么。

PHP稍微麻烦点,因为Nginx没有像Apache那样的SAPI调用PHP的方式,而是使用FastCGI来调。这里就存在一个对PHP的FastCGI进程如何管理的问题。官方源的php5-cgi本身没有进程管理机制。一个比较好的选择是用spawn-fcgi(源自lighttpd的小东东)来起PHP进程,结果查了一下spawn-fcgi到现在还在sid呆着。还有一个选择是使用php-fpm来做FastCGI进程管理,这东西的灵活性比spawn-fcgi还要高不少,但代价是要往PHP源代码里打Patch才能用,也就意味着–要重新编译整个PHP。

简单权衡了一下,我觉得我还是想用php-fpm,但是又想偷懒不编译源代码,于是就求助于第三方二进制源了。随便搜了一下发现还真有正合适的– http://www.dotdeb.org/,这个社区致力于维护Debian下的LAMP类软件的非官方二进制包,恰好它们近期重做了PHP,使用了PHP5.3.1版本,并集成入了Suhosin安全补丁。最让人舒服的是吧php-fpm做成了一个php5-fpm的安装包,并给其加了SysV类的启动脚本,这样PHP的FastCGI方式即可以有自己单独的conf文件,又有单独的init.d控制脚本,可谓完美。

无废话说干就干。

修改/etc/apt/source.list,加入dotdeb的源设置:

deb http://php53.dotdeb.org stable all deb-src http://php53.dotdeb.org stable all

然后apt之:

apt-get update apt-get install php5-cgi php5-fpm

这样PHP就算完事了,简单验证一下,运行如下命令,观察phpinfo()输出是否正常:

php-cgi –i

再保险点看一下PHP的FastCGI进程有没有跑起来,ps aux|grep php,应该能看到有进程为”/usr/bin/php5-fpm –fpm-config /etc/php5/fpm/php5-fpm.conf”在跑。

剩下的事就是搞定nginx的配置文件把站点建好,并让其能调用后台的PHP。这个dotdeb社区源做的php5-fpm好心到都提供了一个nginx的example配置文件,放在/etc/php5/fpm/nginx-site-conf.sample,改改拿来用就好了。

我是将其复制到/etc/nginx/sites-enabled/opslife.com.conf,然后简单修改几个参数,改好的配置文件是这样:

# # nginx-site-conf.sample: # Php Site configuration for nginx [...]

独立Blog的几种玩法

这里的玩法指的不是内容,仅仅是指支撑起Blog的底层设施。

既然决定了独立Blog,一个独立的域名就是首要问题了。域名注册的选择有很多,但要注意有两个地雷尽量不要去碰:

  一个是请避免使用.cn域名。对于这个国家后缀的域名,有太多曲折的故事,但不幸得是没有任何一个故事是对网民有利的。再加上前几年CNNIC自作主张地将其调整为1元1年,同时对于域名管理不作为,导致.cn域名在世界范围的名声差到极点,以这个后缀的网站中充斥着很多垃圾站,病毒站,钓鱼站。所以在对Blog域名选择的过程中,请一定不要选用.cn域名。
  第二请尽量规避国内的域名注册商。国内域名商对于在其名下注册地域名有诸多限制,比如国内域名商大部分限制转入转出,即使允许也有额外附加条件。同时域名商本身的安全隐患却很大,以前就曾出现过号称国内最大的域名注册商域名被盗的事件,最近窃取域名的情况时有发生。然而,即使没有限制,安全性还凑合过得去,国内域名注册商还有一个非常致命的问题是,只要有钱或有背景,某些人或部门可以直接通知域名注册商在未经客户允许的情况下对其所有的域名做任何处理。例如前段时间的TGbus被停事件。

域名解决,下面的问题就是选用哪一种Blog程序了,这个选择不难,因为可选范围比较小,首选自然是全世界使用最广泛的Wordpress了,对于这套程序,相信大部分人的要求都可以满足。其次是一些老Blogger的钟爱MT,最大的特点是全文静态化。其他类型的Blog程序使用者较少,不过也有不少好东西,有兴趣的人可以慢慢挖。

接下来问题是运行这套程序的软硬件平台。Blog算是在线服务,因此至少需要有Web服务和存储服务,对于目前流行的Blog程序来说,存储大多是通过数据库实现。因此所需要的就是一个Web Server和Database Server。而这两项服务以及其所需的网络接入,普通用户自己来实现的成本太高,也非常困难,所以大部分人的选择,都是将其托管到专业的服务商,也就是Hosting Provider。传统的Provider有2种方案:Shared Hosting和Dedicated Hosting,在国内来说,就是虚拟主机和独立服务器。前者是多个客户共享Web Server和DataBase,服务商负责具体服务器的运维,提供给客户一个统一的控制面板来操作,客户通过FTP或web面板等手段来维护其服务。而后者则是客户使用独立的服务器来运行所需要的所有服务。显而易见,前者便宜且简单,后者复杂但功能强大,只要不是特别牛B的Blogger,选择前者就足够了。近年由于虚拟化的流行,出现了一种介于二者之间的产品-VPS(Virtual Private Server)。属于二者之间的折中选择。

下面说一下我的选择:

域名,注册于全世界最大的域名商Godaddy。价钱是8刀左右每年,比国内稍微贵一点,但域名本身花费并不高,这点开销完全可以接受,同时Godaddy经常会有优惠活动,有时能拿到非常低的折扣价。因此没有必要为了省几毛钱来降低域名品质。

空间服务商,早期其实是利用职务之便挂在以前任职公司的服务器上。而现在没有这个条件了。我首先选择的是Dreamhost,它提供了几乎让人用不完的空间以及流量,并且第一次注册时可以享受到近$80的优惠,我记得大约是只需要$21一年,而后第二年全价为$120。算起来每月只需10刀,一顿饭钱而已,对于大多数Blogger,都是比较有性价比的花费。

在去年的某个时候,因为比较无聊想折腾,将自己的Blog迁移到了国外某家VPS。自此间或折腾了1年多,时而自己编译Web Server架起来跑,时而装个Web Pannel来自己当Hosting Provider。VPS的优势在于灵活,几乎能做任何在真正服务器上想做的操作。慢慢下来,我的Blog平台又多了很多用处和玩法,比如VPN(用来跳墙),http proxy(同上,也用来加速国外网站访问),邮件服务器(做备份),各种软件测试平台(跑着玩),TeamSpeak(给朋友玩游戏),编译器(CPU闲着也是闲着),备份调度(做cronjob跑任务),甚至有一段时间跑了一个EQEmu,可惜只有我自己玩,后来VPS迁移给弄没了。

可见VPS是不想花费太多而又爱折腾的人的最好选择。我在一年的期间内换过近2位数的VPS厂商,倒并不是其服务不好,只是为了体验不同厂商的差别,因为VPS的迁移和域名指向转移都是很简单的事,所以搬起家来速度很快。对于VPS,个人可以说是比较有新的了,有机会以后会多写点东西出来介绍一下。

为什么需要独立Blog

玩了也算不少时间Blog了,稍有心得,最近有一些人问我独立Blog有什么好处,就顺别喷点口水写些东西。

首先要明白什么是独立Blog。有些人把是否具有独立域名当做是独立Blog的标准,还有些人则认为应该取决于是否依托于BSP当做界限。其实这都只不过是独立程度而已。每个人对于独立的要求不一样,有些人看重有自己的域名,有些人看重可以自己设计Blog程序或主题,所以这里也没必要界定究竟满足什么条件才算独立,每个人根据自己的要求选择就成,在现在的Blog圈,基本上每种要求都有相应的解决方案。因此关键问题在于,要弄清楚自己究竟想要什么。

无废话,下面一条一条总结。

首先是独立域名的好处:

最基本的好处一看即知–拉风。用脚底板也能看出来xxx.com比起blog.sina.com.cn/xxx看起来有气势得多。
独立域名可以提高Blog在搜索引擎的权重,最直接的结果就是会有更多的人通过搜索引擎看到你的文章,如果你想要你写的东西得到更多关注,可以考虑一下独立域名。
可以用子域名来放其它你想要的东西,比如photos.xxx.com来放图片,还可以架设@xxx.com的邮局或者其它服务,这都是有域名所带来的额外好处。
有独立域名,即使以后换BSP或者换Hosting Provider,都可以平滑转移,你所需要的就是让更多的人记住你这个域名而已。

其次是脱离BSP架设自己Blog程序的好处,其实不使用BSP的原因都可以归结为BSP有诸多限制,国内尤甚:

使用BSP的话,内容可能没有自主权,这个是中国特色,因为国内大多BSP在他们的协议中都注明了文章的使用权归BSP。简单说你写文章都是在为BSP打工,赚来的流量都是他们的。
无法定制自己的blog,不过目前很多BSP也可以在有限的范围内定制,只是无法做到随心所欲罢了。同时大部分定制功能仅仅是外观上的小小变化,比起Blog程序的高度定制化差得还是很多。
数据无法有效保存。很多BSP不提供Blog导出功能,也就是说一旦你使用了他们的服务,基本上就只能是被绑架在那里了,要想保存下来是很困难的,更别说导出到其它服务。这里更可笑的是,大部分BSP声明不对客户数据负责,也就是说哪天BSP倒了可能网络上再也找不到你写的东西了。
BSP为了维系自己的流量,会限制旗下Blog对外部的交流,经常会有一些很让人头大的东西,比如图片乱盖戳或限制外链,评论要注册等等,这个其实是违反了Web2.0本身的开放的要求。
同独立域名一样,使用BSP会导致在搜索引擎内权重的下降。这里有个问题,其实依托于BSP本身的权重,可能并没有太大区别,只是从某种意义上讲,你写的文章从搜索引擎来看,其实是BSP的文章,这样基于BSP的blogger的读者会被局限在BSP内,通过整个Internet来的交流会比较少。

其实写了上面几点,回头再看看,似乎对于普通网友没什么参考价值。对于一个想拥有自己blog的人来说,关键问题是,开Blog究竟是要来干什么的,想清楚这个问题,对于是否需要独立blog,应该也就有答案了。对于我自己来说,引用以前看到某位大牛的话–Blog就应该是一种表达自我和发现自我的方式。

革命啦,每年都来一回!

好吧,我又标题党了一回。

其实你看帖子的时候就应该知道是怎么回事了。把Blog换了个全新的主题而已。原先那个是忘记在什么时候直接SSH到Server上VIM出来的,号称无图片纯CSS搞出来的主题。托大家的福,恶评如潮。终于在特例独行你越骂我越用持续了一年多之后的今天,决定还是华丽起来吧。于是就用了这个国人开发,在短短几天内就成为最受欢迎的Wordpress主题–iNove。

其实我个人比较喜欢三栏式主题,更喜欢用浮动宽度主题。不过iNove即不浮动,也只有两栏。不过全世界的人都欢迎他,那还是继续迎合大众风格吧。

另外估计很多人会忽略,请看一下任务栏,我的域名也换了。不过我十分怀疑是否有人能记得住我以前的域名。

切换期间,老域名下的所有URL都被302 Redirect到新域名下,所以以前链接到我Blog的link应该还都没失效,可能有个别图片链接失效那是因为某些图库插件我还没有安装完成。

最近好久没有更新blog,原因只有一个–懒。发生了很多事分散精力,也就提不起精神来写什么东西。

Blog访问速度优化

抽了点时间把Blog动了点小手脚,加了点东西减了点东西改了点东西,现在速度应该有一个非常显著的提升,如果有感觉到变快的麻烦吱个声。

目前改动还是实验性的,没形成什么系统理论,只不过是一些已知的空间换时间的技巧的排列组合而已,等慢慢总结下心得来的时候好好写一写。

Blog迁移到VPS

最近实在是忙,Blog都没空照看,搬家也很粗暴地扔上去了事,本来计划要上到Nginx,无奈配起来需要点时间,所以先用了Lxadmin这套CP,这套CP控制的是Lighttpd,基本点几下鼠标就完成了架站工作。所以就先这样吧。

似乎URL Rewrite没搞好,不少图片Broke了,有空慢慢修吧。

有觉得速度快了或慢了的麻烦吱个声。

Windows Live Write new Technical Preview

Windows Live Writer昨天放出了一个TP版本,增加了很多新特性,具体如下:

New Features

You’ll also get an early look at some improvements and new features we’ve been working on:

Video and Image Publishing Enhancements

Upload videos to Soapbox
Image cropping and tilting
Additional border styles
Support for LightBox and other image previewing effects (like Slimbox, Smoothbox, and others)
Support for centering images

Editing Enhancements

Auto Linking [...]