nginx基本配置与参数说明-【转】

 1 #运行用户  2 user nobody;  3 #启动进程,一般设置成和cpu的数量相等  4 worker_processes 1;  5  
 6 #全局错误日志及PID文件  7 #error_log logs/error.log;  8 #error_log logs/error.log notice;  9 #error_log logs/error.log info;  10  
 11 #pid logs/nginx.pid;  12  
 13 #工做模式及链接数上限  14 events {  15  #epoll是多路复用IO(I/O Multiplexing)中的一种方式,  16  #仅用于linux2.6以上内核,能够大大提升nginx的性能  17  use epoll;  18  
 19  #单个后台worker process进程的最大并发连接数  20  worker_connections 1024;  21  
 22  # 并发总数是 worker_processes 和 worker_connections 的乘积  23  # 即 max_clients = worker_processes * worker_connections  24  # 在设置了反向代理的状况下,max_clients = worker_processes * worker_connections / 4 为何  25  # 为何上面反向代理要除以4,应该说是一个经验值  26  # 根据以上条件,正常状况下的Nginx Server能够应付的最大链接数为:4 * 8000 = 32000  27  # worker_connections 值的设置跟物理内存大小有关  28  # 由于并发受IO约束,max_clients的值须小于系统能够打开的最大文件数  29  # 而系统能够打开的最大文件数和内存大小成正比,通常1GB内存的机器上能够打开的文件数大约是10万左右  30  # 咱们来看看360M内存的VPS能够打开的文件句柄数是多少:  31  # $ cat /proc/sys/fs/file-max  32  # 输出 34336  33     # 32000 < 34336,即并发链接总数小于系统能够打开的文件句柄总数,这样就在操做系统能够承受的范围以内  34  # 因此,worker_connections 的值需根据 worker_processes 进程数目和系统能够打开的最大文件总数进行适当地进行设置  35  # 使得并发总数小于操做系统能够打开的最大文件数目  36  # 其实质也就是根据主机的物理CPU和内存进行配置  37  # 固然,理论上的并发总数可能会和实际有所误差,由于主机还有其余的工做进程须要消耗系统资源。  38  # ulimit -SHn 65535  39  
 40 }  41  
 42  
 43 http {  44  #设定mime类型,类型由mime.type文件定义  45  include mime.types;  46  default_type application/octet-stream;  47  #设定日志格式  48  log_format main '$remote_addr - $remote_user [$time_local] "$request" '  49  '$status $body_bytes_sent "$http_referer" '  50  '"$http_user_agent" "$http_x_forwarded_for"';  51  
 52  access_log logs/access.log main;  53  
 54  #sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,  55  #对于普通应用,必须设为 on,  56  #若是用来进行下载等应用磁盘IO重负载应用,可设置为 off,  57  #以平衡磁盘与网络I/O处理速度,下降系统的uptime.  58  sendfile on;  59  #tcp_nopush on;  60  
 61  #链接超时时间  62  #keepalive_timeout 0;  63  keepalive_timeout 65;  64  tcp_nodelay on;  65  
 66  #开启gzip压缩  67  gzip on;  68  gzip_disable "MSIE [1-6].";  69  
 70  #设定请求缓冲  71  client_header_buffer_size 128k;  72  large_client_header_buffers 4 128k;  73  
 74  
 75  #设定虚拟主机配置  76  server {  77  #侦听80端口  78  listen 80;  79  #定义使用 www.nginx.cn访问  80  server_name www.nginx.cn;  81  
 82  #定义服务器的默认网站根目录位置  83  root html;  84  
 85  #设定本虚拟主机的访问日志  86  access_log logs/nginx.access.log main;  87  
 88  #默认请求  89  location / {  90             
 91  #定义首页索引文件的名称  92  index index.php index.html index.htm;  93  
 94  }  95  
 96  # 定义错误提示页面  97  error_page 500 502 503 504 /50x.html;  98  location = /50x.html {  99  } 100  
101  #静态文件,nginx本身处理 102  location ~ ^/(images|javascript|js|css|flash|media|static)/ { 103             
104  #过时30天,静态文件不怎么更新,过时能够设大一点, 105  #若是频繁更新,则能够设置得小一点。 106  expires 30d; 107  } 108  
109  #PHP 脚本请求所有转发到 FastCGI处理. 使用FastCGI默认配置. 110  location ~ .php$ { 111  fastcgi_pass 127.0.0.1:9000; 112  fastcgi_index index.php; 113  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 114  include fastcgi_params; 115  } 116  
117  #禁止访问 .htxxx 文件 118  location ~ /.ht { 119  deny all; 120  } 121  
122  } 123 }

 

#运行用户
user nobody ;
#启动进程,一般设置成和cpu的数量相等
worker _processes    1 ;
 
#全局错误日志及PID文件
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
 
#pid        logs/nginx.pid;
 
#工做模式及链接数上限
events {
     #epoll是多路复用IO(I/O Multiplexing)中的一种方式,
     #仅用于linux2.6以上内核,能够大大提升nginx的性能
     use    epoll ;
 
     #单个后台worker process进程的最大并发连接数    
     worker _connections    1024 ;
 
     # 并发总数是 worker_processes 和 worker_connections 的乘积
     # 即 max_clients = worker_processes * worker_connections
     # 在设置了反向代理的状况下,max_clients = worker_processes * worker_connections / 4  为何
     # 为何上面反向代理要除以4,应该说是一个经验值
     # 根据以上条件,正常状况下的Nginx Server能够应付的最大链接数为:4 * 8000 = 32000
     # worker_connections 值的设置跟物理内存大小有关
     # 由于并发受IO约束,max_clients的值须小于系统能够打开的最大文件数
     # 而系统能够打开的最大文件数和内存大小成正比,通常1GB内存的机器上能够打开的文件数大约是10万左右
     # 咱们来看看360M内存的VPS能够打开的文件句柄数是多少:
     # $ cat /proc/sys/fs/file-max
     # 输出 34336
     # 32000 < 34336,即并发链接总数小于系统能够打开的文件句柄总数,这样就在操做系统能够承受的范围以内
     # 因此,worker_connections 的值需根据 worker_processes 进程数目和系统能够打开的最大文件总数进行适当地进行设置
     # 使得并发总数小于操做系统能够打开的最大文件数目
     # 其实质也就是根据主机的物理CPU和内存进行配置
     # 固然,理论上的并发总数可能会和实际有所误差,由于主机还有其余的工做进程须要消耗系统资源。
     # ulimit -SHn 65535
 
}
 
 
http {
     #设定mime类型,类型由mime.type文件定义
     include     mime . types ;
     default_type   application / octet - stream ;
     #设定日志格式
     log_format   main    '$remote_addr - $remote_user [$time_local] "$request" '
                       '$status $body_bytes_sent "$http_referer" '
                       '"$http_user_agent" "$http_x_forwarded_for"' ;
 
     access_log   logs / access . log   main ;
 
     #sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,
     #对于普通应用,必须设为 on,
     #若是用来进行下载等应用磁盘IO重负载应用,可设置为 off,
     #以平衡磁盘与网络I/O处理速度,下降系统的uptime.
     sendfile     on ;
     #tcp_nopush     on;
 
     #链接超时时间
     #keepalive_timeout  0;
     keepalive _timeout    65 ;
     tcp_nodelay     on ;
 
     #开启gzip压缩
     gzip   on ;
     gzip _disable "MSIE [1-6]." ;
 
     #设定请求缓冲
     client_header_buffer _size      128k ;
     large_client_header _buffers    4 128k ;
 
 
     #设定虚拟主机配置
     server {
         #侦听80端口
         listen      80 ;
         #定义使用 www.nginx.cn访问
         server_name   www . nginx . cn ;
 
         #定义服务器的默认网站根目录位置
         root html ;
 
         #设定本虚拟主机的访问日志
         access_log   logs / nginx . access . log   main ;
 
         #默认请求
         location / {
            
             #定义首页索引文件的名称
             index index . php index . html index . htm ;   
 
         }
 
         # 定义错误提示页面
         error _page    500 502 503 504 / 50x.html ;
         location = / 50x.html {
         }
 
         #静态文件,nginx本身处理
         location ~ ^ / ( images | javascript | js | css | flash | media | static ) / {
            
             #过时30天,静态文件不怎么更新,过时能够设大一点,
             #若是频繁更新,则能够设置得小一点。
             expires 30d ;
         }
 
         #PHP 脚本请求所有转发到 FastCGI处理. 使用FastCGI默认配置.
         location ~ . php $ {
             fastcgi _pass 127.0.0.1 : 9000 ;
             fastcgi_index index . php ;
             fastcgi_param   SCRIPT _FILENAME    $ document_root $ fastcgi_script_name ;
             include fastcgi_params ;
         }
 
         #禁止访问 .htxxx 文件
             location ~ / . ht {
             deny all ;
         }
 
     }
}
相关文章
相关标签/搜索