折腾够了,开始夏眠

On Jul 8th, 2011 // by 剑书 // Posted in 网罗天下 // Go to comment

WordPress 3.2要求的PHP版本是5.2.4或者更高,我的VPS上的PHP版本为5.2.17,估计大部分服务器部署的也都是这个兼容性较好的稳定版本。这里边存在一个认知误区,就是光凭版本号来判断的话,以为5.2.17是低于WP3.2所要求的5.2.4。而实际情况是根据PHP自身的版本维护而言,5.2.17是高于5.2.4的,所以直接升级到WordPress 3.2是没有任何问题的。

我的WordPress一直停留在3.05,3.1发布后给人的感觉是WP越发臃肿了,所以一直懒得折腾,直到3.2正式版的发布。按照官方的说法,3.2去掉了之前版本里的一些冗余代码,使得速度变快。再浏览了一些相关论坛的帖子,普遍对3.2赞誉有加。终究没能抗拒这份诱惑,考虑升级。

另外WP升级了,那么对现有的Nginx 0.8.54和PHP 5.2.17也一并作了升级。Nginx升级到最新的1.0.4,PHP升级最新的5.3分支的稳定版本5.3.6。我的VPS上所跑的程序,PHP 5.3.6都是兼容的,所以无需担心什么。

WordPress的升级最快,也最方便。我是直接在后台从3.05升级到3.2的。自动升级,5秒钟完成。一切顺利,除了DB Cache Reloaded这款优秀的缓存插件不兼容,被我临时替换成了DB Cache Reloaded Fix。除此之外,我在后台关闭掉了Admin Bar,它貌似和我的主题有些小小的冲突。其实就算没冲突,我也会选择关闭掉。Admin Bar会要求加载Gravatar,我没有把Gravatar缓存到本地,所以不关掉的话,会经常影响到你加载页面的速度。全部搞定之后,说老实话,我自己是没有发觉3.2比从前快到哪里去的,无论是数据库的查询次数、执行时间还是所消耗的内存,大体和3.0持平。

接下来是Nginx的升级。Nginx在Linux下可以很方便地进行无缝升级,不需要另外再配置nginx.conf,如下面我要把当前VPS所用的0.8.54升级到最新的1.0.4,步骤如下:

1
2
3
4
5
6
7
8
9
wget http://nginx.org/download/nginx-1.0.4.tar.gz
tar -zxvf nginx-1.0.4.tar.gz
cd nginx-1.0.4
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6
make
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
cp objs/nginx /usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx -t
make upgrade

其中第4步./configure的时候,请根据你的具体环境和需要。像用来跑Nginx的你就未必一定是www;安装路径也未必一定是/usr/local/nginx;我的VPS支持IPv6,所以加上了–with-ipv6,你可能就不需要。

搞定后,/usr/local/nginx/sbin/nginx -v 看看版本号,Nginx的升级一般不会有什么问题。

PHP的升级我偷懒用了军哥的自动升级脚本:参考这里

不过如果按照这个脚本升级完就啥也不管了怕是要出问题的。升级到5.3.6后,有些PHP的参数需要自行改一下,这个脚本升级完后应该是默认状态。

编辑/usr/local/php/etc/php.ini,分别搜索display_errors、magic_quotes_gpc、enable_dl、register_long_arrays、register_argc_argv,将这5项全部改成On(默认均为OFF)。

最后,很关键的,如果你用的Nginx+PHP,那么搜索; cgi.fix_pathinfo=1,将这个修改成cgi.fix_pathinfo=0,记得前面还有个分号,也去掉。按这个脚本升级到5.3.6后,pathinfo是打开的,很危险。

保存/usr/local/php/etc/php.ini,退出。再执行:/etc/init.d/php-fpm restart重启。如果想要做得再保险一点,建议关闭上传目录的PHP执行权限,具体请参考:这里

我在升级完Nginx和PHP后,顺便设置隐藏了Nginx和PHP的版本号,这也是出于安全方面的考虑。

隐藏Nginx的版本号:

1
2
3
4
vi /usr/local/nginx/conf/nginx.conf 路径不一定相同
然后在http{ }里加上server_tokens off;
/usr/local/nginx/sbin/nginx -t 测试有无问题,没有报错的话执行下一步
/etc/init.d/nginx reload

隐藏PHP的版本号:

编辑php.ini文件,查找到expose_php项,将默认的On改成Off,保存退出、重启php-fpm。

以上,WordPress、Nginx、PHP全部完成升级,估计一段时间内不会再进行折腾了。

多余的话:最近天气真TM热啊,晚上在家一开空调我就犯困,浑身乏力想睡觉。今晚这篇算是托了停电的福,精神抖擞地在笔记本上先码了出来。7月番的大潮逐步来了,C80也近在眼前。夏天总是很累很没时间的,于是开始进入夏眠状态。嗯,码了这么多字,其实就是为了结尾这么几句话,如果你能看到底的话。

声明: 本站遵循 署名-非商业性使用-相同方式共享 3.0.0 共享协议. 转载请注明转自 剑书的BLOG

73 Comments for this entry.

  1. 更新+10,半夜不睡觉-100,鉴定完毕!

  2. 我也不再打算升级了,一直停留在 3.0.1,感觉功能上也很够用的了。
    升级了,功能没增加什么,反而内存占用上升了

    • @兰色忧郁:
      要是只打算停留在3.0分支的话,还是升级到3.05吧,从3.01到3.05都是安全更新。

      • @剑书:
        到头来还是要升级啊 ╮(╯▽╰)╭
        本来想用2.9算了,发现现在有些喜欢的主题不支持了,也就一直保留着3.0.1

  3. 嗯,说明你还有折腾的精力。对于现在 WP,我一直想换掉,因为愈发不喜欢。其实最早用的那个 7log 就很不错,找一个这样的 blog 程序就行。

    别人都是冬眠,你却夏眠,无语。

    • @小马:
      那些年,你用7log、我用BO-BLOG、剑心用的PJBLOG、小S用的WP。嗯,结果是谁先叛变来着?嘿嘿。

  4. 等我换了主机再说升级吧……现在很纠结

  5. 算了,不升级了~~~

  6. 当初从2.9战战兢兢升到3.1 现在都是紧跟

    • @Louis Han:
      既然都升到3.1了,那肯定需要升级到3.2,后者明显比前者好。

      我比较后悔当初未能停留在2.92

  7. 用VPS的人 真能折腾。
    话说夏天大家都有要夏眠的症状 太热 整日里昏昏沉沉
    以前没空调时 我老是一看到别人家的空调开的猛猛的 就义愤填膺地说 费电还污染环境 还他妈加剧温度 太可耻
    现在自己也在用空调了 也死皮赖脸地享受起来了
    对于一个站在风扇前猛吹还会冒汗的胖子来说 我可耻地原谅了自己

    • @Tealun Du:
      主要是昏沉沉的集中不了精神,干什么都效率极其低下。

  8. 这个夏天很热 受部了啊

  9. WP3.2确实比较不错的,博主还是升级了吧,呵呵

  10. 小马

    没事,就出去一个人旅行吧。这是我的一个梦想。

    • @小马:
      我也很羡慕周云蓬在他的的《绿皮火车》一文里所叙述的那种状态啊。我想,很多人都有这种梦想吧。

  11. 岚女来也。。。
    什么升级,坚决不考虑,吼吼。。每次升级各种冲突,我容易嘛我。。。

    • @雅岚:
      我的插件不多,也还都属于应用较广泛的大众化插件,所以相对安全方便,呵呵。

  12. php5.36 以上的怎样呢

  13. 不打算升级的可以参考下这篇:http://kan.willin.org/?p=1347

  14. 我也好想用用VPS。

  15. 春困秋乏夏打盹睡不醒的冬三月,一年好漫长

  16. 神马情况,之前一个小时都进不来

  17. php5.3内置了phpfpm,我前几天也升级了,不过有个程序不支持5.3,只能在降级了

    • @Dianso:
      不考虑程序兼容性的问题,5.3的优势还是很明显的。我现在是发现Zend Guard Loader出了点小毛病……

  18. 你用的是哪家的 VPS??

  19. 软件的版本号如果是5.2.17意思是五点二点十七,肯定大于五点二点四的。如果是5.2.4的维护版应该是5.2.4.1之类的,不仅仅是wordpress这样。看起来很多人都没弄清楚这个问题呀、

    • @iHenry:
      简言之,就是看末尾小数点后的数字谁大了。

  20. 不用WP的路过……

  21. 俺就继续用虚拟主机吧,vps现在玩不起,也没精力玩。
    天气炎热,注意防暑啊~

  22. 折腾完了就夏眠不错咯

  23. 各种燥热,丢弃Wordpress自己写引擎了,虽然很烂,不过自己不喜欢PHP的开发风格,而且总感觉一个Blog这么简单的东西搞的这么复杂很让人觉得心里忐忑。
    7月番现在就追了白兔糖和猫神800~

    • @EmiNarcissus:
      早期的WP和MT都挺符合你的要求:)

      新番我一般看完2话以后再决定扔还还是不扔。目前已播的追了:白兔糖、八百万、笨蛋2、BLOOD C、滑头鬼2、萝球社、偶像大师、迷茫管家、森田同学、神样DOLLS、神的记事本、夏目3……

      估计到最后要弃掉1/4吧

      • @剑书:

        =.=!确实夏目3,笨蛋2和罗球也在追,不过感觉追番被雷多了以后明显动力在下降,花开NTR全开让自己最初认定为神番的想法感觉自己各种被NTR了的样子~

        • @EmiNarcissus:
          花开物语,嗯,我的评价也下来了,第14话还开始崩了。这片13话完结会不会好点。未能超越同公司制作的真实之泪。

      • @剑书:暴露了

  24. 用了 WP3.2 后,突然发现,发表文章很郁闷

    • @Tiger:
      我觉得还好啊,你的意思是新的后台有些不适应?

      • @剑书: 后台倒是适应,我说的发表文章,用所见即所得模式发表的,有的时候会丢文字
        如我的上一篇 回来了,更新依旧慢 这篇文章
        其实我打 了不少,结果 悲剧了

  25. 期待 数据库的查询次数能大大滴减少

    或者官方开发个给力的缓存功能

    • @软件街小秘:
      同感,如果WP官方能出个缓存方面的插件就好了。现有的类似插件要么这里不兼容要么升级滞后。

  26. 球犯

    嘿嘿 我也升级了 另外看到最底下着几行字 这个夏眠是啥子意思 暂时休息下吗?

    • @球犯:
      呵呵,你放暑假,我正好反过来,稍微歇一歇。

  27. 折腾吧,我升到3.2之后后台就很难看了。

    • @淘糖:
      后台难看是因为放弃了对IE6等低版本浏览器的支持吧

  28. 折腾折腾更健康,嘿嘿

  29. 用不习惯3.2的后台,又降回去了

  30. 看来升级WP还真的很烦人呀,捣腾吧,反正闲,哈哈!

    • @张海华:

      WordPress的升级不麻烦,我只是顺便把Nginx和PHP的版本也升级了下~

  31. 我暑假弄得vps好像php版本升级不到5.3啊,说是为了保证web管理程序兼容,所以WP也升级不了,WP3.13最近爆出注入漏洞,每个网站都有一个博客,没办法,挨个升级到3.14,为了避免万一,把程序都限制了目录,PHP限制了一下比如phpinfo的执行。呵呵

    • @Not-equal:
      现在还有很多程序不兼容PHP5.3

      WP的3.1分支,从3.13到3.14本来就是个安全更新吧

  32. T_T 泪奔的跑回来看看剑书.真是好久没wp了,弄考试弄申请,好像静下来写点东西都是种奢望.
    升级到3.2了,完全没看官方介绍,结果弄得后台和我的插件不兼容.

    • @Veezy:
      你有阵子在推上都几乎快消失了……

      熬一熬吧,坚持就是胜利 XD

      • @剑书: 恩,有一个多月把手机扔家了,懒得经管= =
        哈,胜利来鸟,然后又是新的挑战…不过博客不能在荒废了

  33. TFY

    一看是技术文,直接掀到文章底部,哈哈~

  34. Sylarus

    哥,我想求个HOSTLOC邀请码,请问可以么!谢谢~

  35. 就一直用着5.2.17,一升级memcached和apc还要重新编译,生产环境懒得动啊。。。

Write a Comment.