Tag Archives: Nginx

《实战 Nginx》 读后

拿到这本 《实战 Nginx》 有几天了,休假期间将感兴趣的几章阅读完毕。作者张宴是国内 Nginx 最早的技术传播者之一,产生的影响也最大,他的一系列 Nginx 实战的文章相信让很多 Nginx 用户受益良多。

尽管之前已经在他的网络文章或者 PPT 里看到过这本书里包含的一些内容,我还是要说一下第六章中的架构图是这本书中非常有参考价值的内容(至少对我如此),作为网站维护者,即使不用 Nginx,这几张图也非常值得分析一下。对于从 Apache 迁移到 Nginx 的用户,第七章关于 Rewrite 规则的讲解则不可错过。

这本书的最大缺点或者说不够严谨的地方,我觉得主要是体现在某些章节上关于设置项的说明缺少足够的阐释,比如”优化 Linux 内核参数”、”MySQL 5.1 配置优化”等内容如果添加足以让读者查找更多信息的注释就更好了。另外,从章节的安排上,如果多一节专门讲述 Nginx 优化的内容或许也会不错。

对于没有 Nginx 经验或者是想进一步了解 Nginx 的系统工程师,这本书是值得一读的。这本书的定价不过是一张电影票的价钱,如果可以解答你在工作中的几个技术问题,你说是否值得购买呢?

EOF

此文作者:, 位于 Web 分类 标签: on .
转载须以超链接形式标明文章原始出处和作者信息及版权声明.

Farseer – Nginx for Windows 快速配置包

尽管 Nginx 前不久才提供对 Windows 操作系统的友好支持。其实 Windows 下潜在的用户一直都不少。在 Windows 下安装调试的教程貌似并不多。介绍一个在 Windows 下帮你节省 Nginx 调试时间的项目:Farseer。(Farseer 是魔兽世界中的角色?)

这是淘宝 UED 部门的 明城 捣鼓的一个工具。刚刚新鲜发布。他这么描述该项目:

Nginx 的确是 *ix 系统下非常优秀的 HTTP 服务器,但开发人员而言搭建 Windows 平台的 Nginx + PHP 环境的确非常的繁琐而且容易出错。 如果您有上述的问题,那么这个包能够帮得上您的忙。使用这名为 Farseer 的软件包,能够让您在两分钟内完成 Nginx + PHP for Windows 平台的安装。

繁忙的工作之余还有精神头捣鼓这个,发自内心的觉得应该表扬。

EOF

此文作者:, 位于 OpenSource 分类 标签: on .
转载须以超链接形式标明文章原始出处和作者信息及版权声明.

Lighttpd 的 spawn-fcgi 成为独立项目

收到邮件说 Spawn-fcgi 成为独立项目,并且预发布了 1.6 版本。

原来很多人都用 Lighttpd 的 Spawn-fcgi 进行 FastCGI 模式下的管理工作,不过有不少缺点。而 PHP-fpm 的出现多少缓解了一些问题,但 PHP-fpm 有个缺点就是要重新编译,这对于一些已经运行的环境可能有不小的风险(refer)。

原来 spawn-fcgi 版本也比较乱的,期待独立后的项目能更稳定一些。这会给很多 Web 站点带来便利。

EOF

Nginx 与 Awstats (FastCGI for Perl)

配置好 Nginx 后,可能有的朋友还想用 Awstats 分析日志。如果另外再起一个 Apache ,觉得费二遍事。如果在 Nginx 上跑 Awstats ,还需要 FASTCGI 支持。配置的方法有些山寨。Nginx 尽管提供 Perl 模块支持,毕竟还是实验性质的。

对比了一些文章,决定还是用 nginx-fcgi 这个脚本。作者是 Daniel Dominik Rudnicki 。这个脚本要比顺子文中提到的要好一点。

该脚本中用到如下的 Perl 模块。所以使用前要确保相关 Perl 模块已经存在。要不,手工下载安装一下。

  • perl-FCGI
  • perl-Getopt
  • perl-IO
  • perl-Socket

使用命令示意:

/usr/local/nginx/nginx-fcgi -S /tmp/fastcgi.sock -l /var/log/nginx/nginx-fcgi.log
-pid /var/run/nginx-fcgi.pid

网上常见的那个脚本必须要显示的指定最为后台进程跑。不是很完善的方法。

注意事项:不能用 root 用户执行(会提示). 要用与 Nginx 相同身份的用户执行。否则可能会在 Nginx Log 中提示 Permision Denied 。

Nginx 中配置好 Log 格式:

log_format  main          '$remote_addr - [$time_local] "$request" ' 
'$status $body_bytes_sent "$http_referer"'
'"$http_user_agent" $http_x_forwarded_for';

相对应的 Awstats 中 Log 格式为:

LogFormat = "%host - %time1 %methodurl %code %bytesd %refererquot %uaquot" 

其他的配置参考一下Sunnyu 的 “为了Awstats给Nginx添加FastCGI方式的Perl支持” 应该就成了。

BTW: 应该说,Nginx 能够有效抵挡搜索引擎爬虫对网站的影响。对于 Apache 来说,这是个很大的进步。

EOF

更新:如果手工写脚本做 Nginx 日志 logrotate 的话,注意不要简单的用 mv 命令, cp 然后 echo ”> 的方式更好。

推荐: Sina 张宴的 Nginx 0.7.x + PHP 5.2.6(FastCGI)搭建胜过Apache十倍的Web服务器(第4版),这是目前关于 Nginx 最详细的实践文章。