分类目录归档:Nginx

php-fpm的配置与应用指南[推荐]

一、什么是php-fpm

PHP-FPM  全程是 FastCGI Process Manager (FastCGI进程管理器),对于PHP 5.3.3之前的php来说,是一个补丁包 ,旨在将FastCGI进程管理整合进PHP包中。如果你使用的是PHP5.3.3之前的PHP的话,就必须将它patch到你的PHP源代码中,在编译安装PHP后才可以使用。

继续阅读

CGI、FastCGI、PHP-CGI、PHP-FPM的联系与区别

什么是CGI

CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。如php,perl,tcl等。

继续阅读

Nginx中http_fastcgi_module的配置

1、fastcgi_bind

Syntax: fastcgi_bind address [transparent] | off;
Default: —
Context: http, server, location
指令在调用connect()函数之前将解析每个上游socket到一个本地地址,可以使用在主机拥有多个网卡接口或别名,但是你只允许到外的连接来自指定的网卡或者地址的情况下。

继续阅读

Nginx中http_core_module的配置

1、aio(异步IO)

Syntax: aio on | off | threads[=pool]; #不知道什么原因 on设置在1.11版本中,不可用
Default: aio off;
Context: http, server, location
  • 在linux平台下,nginx的aio和sendfile不能同时生效。
  • aio和sendfile同时开启的情况下,当请求的文件大小>= direction,aio生效,反之sendfile生效。
  • 对于大文件采用aio,节省cpu,而对于小文件,采用sendfile,减少拷贝;并且对于大文件aio采用directio,避免挤占文件系统缓存,让文件系统缓存更多的小文件。

继续阅读

Nginx Location配置总结

语法:location [=|~|~*|^~] /uri/ { … }
配置块:server

  • =表示将URI作为字符串,以便于参数中的URI做完全匹配。
  • ~表示匹配URI时,字母大小写是敏感的。
  • ~*表示匹配URI时,忽略字母大小写。
  • ^~表示匹配URI时,只需要前半部分与uri参数匹配即可。
  • @表示用于nginx服务器内部请求之间的重定向,带有@的location不直接处理用户请求。
  • uri参数可以使用正则表达式。
  • 使用locaiton / {}可以匹配所有的请求。
  • 首先匹配 =,其次匹配^~, 其次是按文件中顺序的正则匹配,最后是交给 / 通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求。

继续阅读