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

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. SpringMvc相关配置的作用

    1. <!-- 配置 handlerAdapter--> <bean class="org.springframework.web.servlet.mvc.SimpleCo ...

  2. BeautifulSoup

    参考:http://www.freebuf.com/news/special/96763.html 相关资料:http://www.jb51.net/article/65287.htm 1.Pytho ...

  3. 关于用display:table让元素居中的小结

    我们都知道让元素垂直居中有一种简单的方法:给需要居中的元素用一个父级包起来,并给它设置样式:display:table:同时给这个父级设置好高度:再给需要居中的元素一个display:table-ce ...

  4. tornado学习笔记11 Web应用中模板(Template)使用应用实践

    上一篇中(Web应用中模板的工作流程分析),已经分析了模板的渲染流程,以及相关参数获取及设置原理.这篇主要讲述模板在实际应用案例. 11.1 需求 根据用户输入的两次密码,判断两次密码是否一致,并将判 ...

  5. IOS UIWebView 下拉刷新功能的简单实现

    1.运行效果图 2.swift 代码的实现 import UIKit class RefreshWebViewController: UIViewController,UIScrollViewDele ...

  6. HDU 2227 Find the nondecreasing subsequences (DP+树状数组+离散化)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2227 Find the nondecreasing subsequences             ...

  7. spring动态代理

    接下来我们来体会下动态代理带给我们的便利 package aop006; public interface Girl { public void KFC(String datetime); publi ...

  8. vue-cli 组件的使用

    开始项目之前,先了解如何创建项目: http://www.cnblogs.com/pearl07/p/6247389.html 1,项目目录结构(路由是后来建的,将在下一篇使用路由,此处可忽略). 2 ...

  9. iOS 属性修饰符记录 --不定时更新

    重新审视了一下OC在属性修饰符,特意记录一下来.以后不定时更新 > retain:只有在非ARC下才会有效,所有如果在ARC下使用了retain修饰也白搭 如以下的data属性用retain修饰 ...

  10. java-通过JDBC操作数据库

    一.加载驱动 这里我们用Class.forname();来加载驱动,用此语句会提示排除异常. Class.forName("com.mysql.jdbc.Driver"); 括号中 ...