1. #定义Nginx运行的用户和用户组
  2. user www www;
  3.  
  4. #nginx进程数,建议设置为等于CPU总核心数。
  5. worker_processes 8;
  6.  
  7. #全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]
  8. error_log /var/log/nginx/error.log info;
  9.  
  10. #进程文件
  11. pid /var/run/nginx.pid;
  12.  
  13. #一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(系统的值ulimit -n)与nginx进程数相除,但是nginx分配请求并不均匀,所以建议与ulimit -n的值保持一致。
  14. worker_rlimit_nofile 65535;
  15.  
  16. #工作模式与连接数上限
  17. events {
  18. #参考事件模型,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; epoll模型是Linux 2.6以上版本内核中的高性能网络I/O模型,如果跑在FreeBSD上面,就用kqueue模型。
  19. use epoll;
  20. #单个进程最大连接数(最大连接数=连接数*进程数)
  21. worker_connections 65535;
  22. }
  23.  
  24. #设定http服务器
  25. http {
  26. include mime.types; #文件扩展名与文件类型映射表
  27. default_type application/octet-stream; #默认文件类型
  28. #charset utf-8; #默认编码
  29. server_names_hash_bucket_size 128; #服务器名字的hash表大小
  30. client_header_buffer_size 32k; #上传文件大小限制
  31. large_client_header_buffers 4 64k; #设定请求缓
  32. client_max_body_size 8m; #设定请求缓
  33. sendfile on; #开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。
  34. autoindex on; #开启目录列表访问,合适下载服务器,默认关闭。
  35. tcp_nopush on; #防止网络阻塞
  36. tcp_nodelay on; #防止网络阻塞
  37. keepalive_timeout 120; #长连接超时时间,单位是秒
  38.  
  39. #FastCGI相关参数是为了改善网站的性能:减少资源占用,提高访问速度。下面参数看字面意思都能理解。
  40. fastcgi_connect_timeout 300;
  41. fastcgi_send_timeout 300;
  42. fastcgi_read_timeout 300;
  43. fastcgi_buffer_size 64k;
  44. fastcgi_buffers 4 64k;
  45. fastcgi_busy_buffers_size 128k;
  46. fastcgi_temp_file_write_size 128k;
  47.  
  48. #gzip模块设置
  49. gzip on; #开启gzip压缩输出
  50. gzip_min_length 1k; #最小压缩文件大小
  51. gzip_buffers 4 16k; #压缩缓冲区
  52. gzip_http_version 1.0; #压缩版本(默认1.1,前端如果是squid2.5请使用1.0)
  53. gzip_comp_level 2; #压缩等级
  54. gzip_types text/plain application/x-javascript text/css application/xml;
  55. #压缩类型,默认就已经包含text/html,所以下面就不用再写了,写上去也不会有问题,但是会有一个warn。
  56. gzip_vary on;
  57. #limit_zone crawler $binary_remote_addr 10m; #开启限制IP连接数的时候需要使用
  58.  
  59. upstream www.vfeelit.com {
  60. #upstream的负载均衡,weight是权重,可以根据机器配置定义权重。weigth参数表示权值,权值越高被分配到的几率越大。
  61. server 192.168.80.121:80 weight=3;
  62. server 192.168.80.122:80 weight=2;
  63. server 192.168.80.123:80 weight=3;
  64. }
  65.  
  66. #虚拟主机的配置
  67. server {
  68. #监听端口
  69. listen 80;
  70. #域名可以有多个,用空格隔开
  71. server_name www.vfeelit.com vfeelit.com;
  72. index index.html index.htm index.php;
  73. root /data/www/vfeelit;
  74. location ~ .*.(php|php5)?$ {
  75. fastcgi_pass 127.0.0.1:9000;
  76. fastcgi_index index.php;
  77. include fastcgi.conf;
  78. }
  79.  
  80. #图片缓存时间设置
  81. location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ {
  82. expires 10d;
  83. }
  84.  
  85. #JS和CSS缓存时间设置
  86. location ~ .*.(js|css)?$ {
  87. expires 1h;
  88. }
  89.  
  90. #日志格式设定
  91. log_format access '$remote_addr - $remote_user [$time_local] "$request" '
  92. '$status $body_bytes_sent "$http_referer" '
  93. '"$http_user_agent" $http_x_forwarded_for';
  94.  
  95. #定义本虚拟主机的访问日志
  96. access_log /var/log/nginx/ha97access.log access;
  97.  
  98. #对 "/" 启用反向代理
  99. location / {
  100. proxy_pass http://127.0.0.1:88;
  101. proxy_redirect off;
  102. proxy_set_header X-Real-IP $remote_addr;
  103. #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
  104. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  105. #以下是一些反向代理的配置,可选。
  106. proxy_set_header Host $host;
  107. client_max_body_size 10m; #允许客户端请求的最大单文件字节数
  108. client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数,
  109. proxy_connect_timeout 90; #nginx跟后端服务器连接超时时间(代理连接超时)
  110. proxy_send_timeout 90; #后端服务器数据回传时间(代理发送超时)
  111. proxy_read_timeout 90; #连接成功后,后端服务器响应时间(代理接收超时)
  112. proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
  113. proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的设置
  114. proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)
  115. proxy_temp_file_write_size 64k;
  116. #设定缓存文件夹大小,大于这个值,将从upstream服务器传
  117. }
  118.  
  119. #设定查看Nginx状态的地址
  120. location /NginxStatus {
  121. stub_status on;
  122. access_log on;
  123. auth_basic "NginxStatus";
  124. auth_basic_user_file conf/htpasswd;
  125. #htpasswd文件的内容可以用apache提供的htpasswd工具来产生。
  126. }
  127.  
  128. #本地动静分离反向代理配置
  129. #所有jsp的页面均交由tomcat或resin处理
  130. location ~ .(jsp|jspx|do)?$ {
  131. proxy_set_header Host $host;
  132. proxy_set_header X-Real-IP $remote_addr;
  133. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  134. proxy_pass http://127.0.0.1:8080;
  135. }
  136.  
  137. #所有静态文件由nginx直接读取不经过tomcat或resin
  138. location ~ .*.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$ {
  139. expires 15d;
  140. }
  141. location ~ .*.(js|css)?$ { expires 1h; }
  142. }
  143. }

更加详细信息可参考:http://wiki.nginx.org/Main

原文:http://www.vfeelit.com/478.html

Nginx配置文件nginx.conf详解(转)的更多相关文章

  1. nginx配置文件httpd.conf详解

     PS:Nginx使用有两三年了,现在经常碰到有新用户问一些很基本的问题,我也没时间一一回答,今天下午花了点时间,结合自己的使用经验,把Nginx的主要配置参数说明分享一下,也参考了一些网络的内容,这 ...

  2. Redis:默认配置文件redis.conf详解

    转: Redis:默认配置文件redis.conf详解 # Redis配置文件样例 # Note on units: when memory size is needed, it is possibl ...

  3. Redis配置文件redis.conf详解

    一.Redis配置文件redis.conf详解 # Note on units: when memory size is needed, it is possible to specifiy # it ...

  4. yum的配置文件yum.conf详解

    说明:经过网上抄袭和自己的总结加实验,非常详细,可留作参考. yum的配置一般有两种方式:   一种是直接配置/etc目录下的yum.conf文件, 另外一种是在/etc/yum.repos.d目录下 ...

  5. Nginx配置文件中文注释详解

    Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor Sysoev ...

  6. Nginx配置文件、优化详解

    上篇<编译安装nginx>已将nginx安装好,这篇写nginx配置文件和部分优化参数. 查看nginx的配置文件路径,可以使用nginx配置文件检查命令nginx -t: [root@n ...

  7. 配置文件keepalived.conf详解

    keepalived.conf       一个功能比较完整的keepalived 的配置文件,其配置文件keepalived.conf 可以包含三个文本块:全局定义块.VRRP 实例定义块及虚拟服务 ...

  8. Juno 版 Keystone 主配置文件 keystone.conf 详解

    本文全面解读Icehouse发行版keystone的配置文件keystone.conf,由于从keystone提供的服务或依赖的基础设施角度入手,因此[DEFAULT]部分可能被拆分到很多子块中. 关 ...

  9. Redis高可用方案哨兵机制------ 配置文件sentinel.conf详解

    Redis的哨兵机制是官方推荐的一种高可用(HA)方案,我们在使用Redis的主从结构时,如果主节点挂掉,这时是不能自动进行主备切换和通知客户端主节点下线的. Redis-Sentinel机制主要用三 ...

  10. Nginx配置文件常用部分详解

    原文 #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_processes ; #全局错误日志定义类型,[ debug ...

随机推荐

  1. [转]JavaScript函数和数组总结

    转自:http://www.uml.org.cn/AJAX/201307264.asp 写的不错,对我有很多帮助,最近准备全面的学习研究一下ES5,先转载一下这篇文章. JavaScript函数 1. ...

  2. 嵌入式 python之str操作

    1.字符串的对齐方式:①:center(int[,str])>>> string = 'Fishhat'>>> string.center(55)'         ...

  3. ASP.Net string 类的扩展方法 [转]

    string 类的扩展方法列表(基本相同于 IEnumerable<T> 接口的成员列表): Aggregate<>     //累加 All<>        / ...

  4. USB方向

    Because the host is always the bus master, it is easy to remember USB direction: OUT means from the ...

  5. redgate

    http://www.cnblogs.com/VAllen/archive/2012/09/08/SQLPrompt.html http://www.cnblogs.com/dotLive/archi ...

  6. cf C. Bits

    http://codeforces.com/contest/485/problem/C 利用位运算来解决这个题,从L开始,从每一位按位或,知道到达r位置,ans=ans|(1<<k);就可 ...

  7. 疯狂java实战演义 弹球游戏代码

    package org.crazyit.ball; import java.awt.Image; import java.io.File; import javax.imageio.ImageIO; ...

  8. Actionbarsherlock 简明教程

    ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库,通过一个API和主题,开发者就可以很方便地使用所有版本的Android动作栏的设计模式. ...

  9. Python 命令行非阻塞输入

    很久很久以前,系windows平台下,用C语言写过一款贪食蛇游戏,cmd界面,用kbhit()函数实现非阻塞输入.系windows平台下用python依然可以调用msvcrt.khbit实现非阻塞监听 ...

  10. 【二分】【高精度】Vijos P1472 教主的集合序列

    题目链接: https://vijos.org/p/1472 题目大意: S1={1,2,3…n}.当i>1时,Si为集合Si-1中任意两个不相同数之和的集合. 将每个集合中所有元素取出,集合S ...