filed in Linux/c/c++, PHP/ web on Nov.22, 2009
今天在配置一台nginx的web服务器时,参考张宴(blog.s135.com)大师的《Nginx 0.8.x + PHP 5.2.10(FastCGI)搭建胜过Apache十倍的Web服务器(第5版)》
安装php(fastcgi模式)的时候,常常有这样一句命令:/usr/local/webserver/php/bin/phpize
一、phpize是干嘛的?
phpize是什么东西呢?php官方的说明:
http://php.net/manual/en/install.pecl.phpize.php
phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块
比如你想在原来编译好的php中加入memcached或者ImageMagick等扩展模块,可以使用phpize,通过以下几步工作。
二、如何使用phpize?
当php编译完成后,php的bin目录下会有phpize这个脚本文件。在编译你要添加的扩展模块之前,执行以下phpize就可以了;
比如现在想在php中加入memcache扩展模块:我们要做的只是如下几步
————————————————————————
tar zxvf memcache-2.2.5.tgz
cd memcache-2.2.5/
/usr/local/webserver/php/bin/phpize
./configure –with-php-config=/usr/local/webserver/php/bin/php-config
make
make install
————————————————————————
注意./configure 后面可以指定的是php-config文件的路径
这样编译就完成了,还需要做的是在php.ini文件中加入extension值
extension = “memcache.so”
Tags: memcache, php, phpize, 扩展模块
filed in PHP/ web on Nov.21, 2009
也许FastCGI早就不陌生,但是FastCGI到底是什么?我倒真没太理解,只知道用FastCGI就对了,快!
FastCGI的官网:http://www.fastcgi.com/
FastCGI is simple because it is actually CGI with only a few extensions. 很谦虚的说他只是CGI的一点点扩展而已;
一、FastCGI是什么?
FastCGI是语言无关的、可伸缩架构的CGI开放扩展,其主要 行为是将CGI解释器进程保持在内存中并因此获得较高的性能。众所周知,CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存 中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性、Fail-Over特性等等。
FastCGI的工作原理是:
1、Web Server 启动时载入FastCGI进程管理器(IIS ISAPI或Apache Module);
2、FastCGI进程管理器自身初始化,启动多个CGI解释器进程 (在任务管理器中可见多个php-cgi.exe)并等待来自Web Server的连接。
3、当客户端请求到达Web Server时,FastCGI进程管理器选择并连接到一个CGI解释器。Web server将CGI环境变量和标准输入发送到FastCGI子进程php-cgi.exe。
4、FastCGI子进程完成处理后将标准输出和错误信息从同一连接返回Web Server。当FastCGI子进程关闭连接时,请求便告处理完成。FastCGI子进程接着等待并处理来自FastCGI进程管理器(运行在 WebServer中)的下一个连接。 在正常的CGI模式中,php-cgi.exe在此便退出了。
在上述情况中,你可以想象 CGI通常有多慢。每一个Web请求PHP都必须重新解析php.ini、重新载入全部dll扩展并重初始化全部数据结构。使用FastCGI,所有这些 都只在进程启动时发生一次。一个额外的好处是,持续数据库连接(Persistent database connection)可以工作。
二、为什么要使用FastCGI,而不是多线程CGI解释器?
这可能出于多方面的考虑,例如:
1、你无论如何也不能在windows平台上稳定的使用多线程CGI解释器,无论是IIS ISAPI方式还是APACHE Module方式,它们总是运行一段时间就崩溃了。奇怪么?但是确实存在这样的情况!
当然,也有很多时候你能够稳定的使用多线程CGI解释器,但是,你有可能发现网页有时候会出现错误,无论如何也找不到原因,而换用FastCGI方式时 这种错误的概率会大大的降低。我也不清楚这是为什么,我想独立地址空间的CGI解释器可能终究比共享地址空间的形式来得稳定一点点。
2、性 能!性能?可能么,难道FastCGI比多线程CGI解释器更快?但有时候确实是这样,只有测试一下你的网站,才能最后下结论。原因嘛,我觉得很难讲,但 有资料说在Zend WinEnabler的时代,Zend原来也是建议在Windows平台下使用FastCGI而不是IIS ISAPI或Apache Module,不过现在Zend已经不做这个产品了。
三、不使用FastCGI的理由
1、多进程比多线程消耗更多的服务器内存,php-cgi.exe解释器每进程消耗7至25兆内存,将这个数字乘以50或100试试。
2、性能。确实有时候多线程CGI解释器更快,呵呵,而且有时候,它也很稳定。
3、CGI?听起来就很土,呵呵
http://blogme.cn/node/6529
其他资源:
扶凯:http://www.php-oa.com/2008/03/22/php-fastcgi.html
Tags: fastcgi, php
filed in MyLife, WEB 2.0 research on Nov.04, 2009
Geekcook.com一个非常有创意的Tee网店。与其说网店,它更像是一个表达对互联网热爱的的方式。最早是从Twitter上看到了,看到推友 从@geekcooktweet买了件Tee。当时是感@geekcooktweet这个网名和自己的网名好像,点进去一看,就感觉到了他的独特性。立即买了件twitter tee 。当时Geekcook.com是用一个wordpress程序搭的小站,里面简单的展示了他有点商品。商品都非常个性化,很IT !!!
show一下我买的twitter Tee :
让我思考更多的是他的这种模式。单独的blog程序,摆脱了淘宝网的框框架架,第一眼给人以独特的感觉。而独立网店有更强的可制定性。更重要的是,他能结合更多的web 2.0工具进行网络营销。 Rss、Twitter、Tag。推广的时候以独立域名,独立页面的形式,这种对于追求个性、喜欢互联网的人来说是非常有吸引力的,特别是Geekcook.com销售的商品又是以 互联网 为主题的Tee 。
适合的商品(Tee)+适合的目标人群(IT人)+适合的营销手段(sns、twitter、blog) = 成功的营销(网络营销)
twitter为代表的围脖改变了信息传播的方式,使信息的传播更迅速,这给网络营销带来了新的思考。如何利用这些web 2.0工具,推销我们的产品? 个人觉得最重要的是口碑。第二:形象。
记得前段时间,有推友在twitter上说网警又要请他去喝茶@geekcooktweet说,去吧,我可以赞助Twitter Tee!! 这些细节其实就是网络营销的细节。在潜移默化中在树立自己的形象。
至于现在为什么Geekcook.com把原来的blog程序给去掉了?我还不明白。个人觉得还是有一个独立的展示平台比较好。想HelloTee做得也挺好的。
最近Geekcook.com推出的“写博客免运费”的活动我觉得也是网络营销非常成功的方法。我发现HelloTee也采用了这种方法。其实web 2.0最核心应该是blog 。正是因为博客,才是使现在的网络如此精彩。而bloger在互联网里的作用是非常重要的,如何调动这部分人的力量的实现 “网络营销”的重要因素。写博客,免运费,很好的刺激了部分bloger,为自己做推广。
而Geekcook.com、还有helloTee这类模式,同样应该给电子商务带来更多的思考。如何更好的将 电子商务 结合 web 2.0工具进行网络营销 ? 也许你也可以创出更好的模式~~~
其他资料:
那么什么是web 2.0 ?
上面的图主要涵盖了web 2.0的技术。我们引用网上对web 2.0比较普遍的一种解释:Web2.0是以 Flickr、Craigslist、Linkedin、Tribes、Ryze、 Friendster、Del.icio.us、43Things.com等网站为代表,以Blog、TAG、SNS、RSS、wiki等应用为核心,依据六度分隔、xml、ajax等新理论和技术实现的互联网新一代模式。
在我看来
Tags: twitter, 网络营销