Nginx 教程

主要文档

Nginx功能概述 为什么选择Nginx Nginx安装 常见问题(FAQ) 配置符号参考 调试 nginx 优化 Nginx 运行和控制Nginx

核心模块

Nginx事件模块 Nginx主模块

基本模块

Browser模块 Charset模块 Geo模块 HttpAccess模块 HttpAuthBasic模块 HttpAutoindex模块 HttpEmptyGif模块 HttpFcgi模块 HttpGzip模块 HttpHeaders模块 HttpIndex模块 HttpIndex模块. HttpLimit zone HttpLimitReqest模块 HttpLog模块 HttpProxy模块 HttpRewrite模块 HttpSSI模块 HttpUserId http核心模块 map Memcached

其他模块

Addition模块 EmbeddedPerl flv GooglePerftools HttpDav模块 HttpGeoIP HttpGzipStatic HttpImageFilter HttpRealIp HttpSecureLink HttpSSL HttpSubstitution HttpXSLT RandomIndex StubStatus模块

mail模块

MailAuth MailCore MailProxy MailSSL

安装

nginx php-fpm安装配置 nginx在fedora上的安装 nginx在freebsd上的安装 nginx在ubuntu上的安装 nginx在windows上的安装

配置示例和方法

HWLoadbalancerCheckErrors nginx防盗链 负载均衡 完整例子 完整例子2 虚拟主机

nginx在fedora上的安装


原理:

安装nginx没什么好说的,安装php-cig,让lighthttp的spawn-fcgi对其进行管理

1.用yum仓库安装所需的软件

#yum install –y php php-cgi  nginx lighttpd-fastcgi 

2.生成php-cgi的环境变量配置文件

# vim /etc/nginx/fastcgi_params 

输入以下内容,并把该文件设置为相应属性,可以设置为0777

astcgi_param GATEWAY_INTERFACE CGI/1.1;  
fastcgi_param SERVER_SOFTWARE nginx;  
fastcgi_param QUERY_STRING $query_string;  
fastcgi_param REQUEST_METHOD $request_method;  
fastcgi_param CONTENT_TYPE $content_type;  
fastcgi_param CONTENT_LENGTH $content_length;  
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  
fastcgi_param SCRIPT_NAME $fastcgi_script_name;  
fastcgi_param REQUEST_URI $request_uri;  
fastcgi_param DOCUMENT_URI $document_uri;  
fastcgi_param DOCUMENT_ROOT $document_root;  
fastcgi_param SERVER_PROTOCOL $server_protocol;  
fastcgi_param REMOTE_ADDR $remote_addr;  
fastcgi_param REMOTE_PORT $remote_port;  
fastcgi_param SERVER_ADDR $server_addr;  
fastcgi_param SERVER_PORT $server_port;  
fastcgi_param SERVER_NAME $server_name;  
# PHP only, required if PHP was built with –enable-force-cgi-redirect  
fastcgi_param REDIRECT_STATUS 200; 

3.使用spawn-fcgi来控制php-fastcgi的进程

# /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 200 -u nginx -g nginx -f /usr/bin/php-cgi 

其中,a绑定的地址,p是端口

-C是PHPCGI的进程数,一般根据自己服务器的内存大小设置,4G服务器,如果是纯WEBSERVER的,可以设置200左右

4.增加server

# vim /etc/nginx/nginx.conf  
server{  
  listen 80;  
  server_name pylong.com [www.pylong.com](http://www.pylong.com/);#多个域名,用空格分开  
  index index.html index.php index.htm;  
  root /var/www/pylong.com;  
  location ~ .*.php$  
  {  
  include /etc/nginx/fastcgi_params;  
  fastcgi_pass 127.0.0.1:9000;  
  }  
  } 

一些更加详细的conf设置请参看nginx的维基,以及相关资料

一些提示:

yum安装的nginx,相关命令:servie nginx start|stop|reload

把nginx添加到系统启动项里:chkconfig nginx on

其中,a绑定的地址,p是端口

-C是PHPCGI的进程数,一般根据自己服务器的内存大小设置,4G服务器,如果是纯WEBSERVER的,可以设置200左右

4.增加server

# vim /etc/nginx/nginx.conf  
server{  
  listen 80;  
  server_name pylong.com [www.pylong.com](http://www.pylong.com/);#多个域名,用空格分开  
  index index.html index.php index.htm;  
  root /var/www/pylong.com;  
  location ~ .*.php$  
  {  
  include /etc/nginx/fastcgi_params;  
  fastcgi_pass 127.0.0.1:9000;  
  }  
  } 

一些更加详细的conf设置请参看nginx的维基,以及相关资料

一些提示:

yum安装的nginx,相关命令:servie nginx start|stop|reload

把nginx添加到系统启动项里:chkconfig nginx on

让spawn-fcgi随系统自动启动。

vim /etc/rc.loal 

在文件最后加上

# /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 200 -u nginx -g nginx -f /usr/bin/php-cgi 

如果php的session不可用,一般是因为 /var/lib/php/session这个目录的对于nginx不可写,把它所有者改为nginx相应用户已经用户组

地址:http://www.pylong.com/?p=6