1. user www www;
  2. # ginx要开启的进程数 一般等于cpu的总核数,没必要开那么多,1个nginx内存消耗10兆左右
  3. worker_processes 4;
  4. # 为每个进程分配cpu,上例中将4 个进程分配到4个cpu,当然可以写多个,或者将一 个进程分配到多个cpu。
  5. worker_cpu_affinity 00000001 00000010 00000100 00001000;
  6. # 每个nginx进程打开文件描述符最大数目 配置要和系统的单进程打开文件数一
  7. # 致,linux 2.6内核下开启文件打开数为65535,worker_rlimit_nofile就相应,应该填写65535
  8. # nginx调度时分配请求到进程并不是那么的均衡,假如超过会返回502错误。我这里写的大一点
  9. worker_rlimit_nofile 100000;
  10. # 开启nginx错误日志
  11. error_log logs/error.log;
  12. # 告诉nginx只能记录严重的错误
  13. #error_log logs/error.log notice;
  14. #error_log logs/error.log info;
  15. #pid logs/nginx.pid;
  16. events {
  17. # 每个工作进程允许最大的同时连接数(Maxclient = work_processes * worker_connections)
  18. # 默认1024
  19. worker_connections 65535;
  20. # 告诉nginx收到一个新连接通知后接受尽可能多的连接。
  21. multi_accept on;
  22. # 设置用于复用客户端线程的轮询方法。如果你使用Linux 2.6+,你应该使用epoll。
  23. # 如果你使用*BSD,你应该使用kqueue。
  24. # 值得注意的是如果你不知道Nginx该使用哪种轮询方法的话,它会选择一个最适合你操作系统的
  25. use epoll;
  26. }
  27. http {
  28. include mime.types;
  29. default_type application/octet-stream;
  30. log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  31. '$status $body_bytes_sent "$http_referer" '
  32. '"$http_user_agent" "$http_x_forwarded_for"';
  33. limit_req_zone $binary_remote_addr zone=allips:10m rate=20r/s;
  34. #
  35. #access_log logs/access.log main;
  36. # 这个将为打开文件指定缓存,默认是没有启用的,max 指定缓存数量,建议和打开文件数一致,
  37. # inactive 是指经过多长时间文件没被请求后删除缓存
  38. open_file_cache max=204800 inactive=20s;
  39. # open_file_cache 指令中的inactive 参数时间内文件的最少使用次数,
  40. # 如果超过这个数字,文件描述符一直是在缓存中打开的,
  41. # 如上例,如果有一个文件在inactive 时间内一次没被使用,它将被移除
  42. open_file_cache_min_uses 1;
  43. # 这个是指多长时间检查一次缓存的有效信息
  44. open_file_cache_valid 30s;
  45. # 并不会让nginx执行的速度更快,但它可以关闭在错误页面中的nginx版本数字,这样对于安全性是有好处的
  46. server_tokens off;
  47. # 磁盘和TCP socket之间互相拷贝数据(或任意两个文件描述符)。
  48. # Pre-sendfile是传送数据之前在用户空间申请数据缓冲区
  49. sendfile on;
  50. # 告诉nginx在一个数据包里发送所有头文件,而不一个接一个的发送
  51. #tcp_nopush on;
  52. # 告诉nginx不要缓存数据,而是一段一段的发送,
  53. # 当需要及时发送数据时,就应该给应用设置这个属性,这样发送一小块数据信息时就不能立即得到返回值。
  54. #tcp_nodelay on;
  55. upstream phpServer{
  56. server 172.20.17.210:9000 weight=1 max_fails=2 fail_timeout=3;
  57. server 172.20.17.211:9000 weight=1 max_fails=2 fail_timeout=3;
  58. }
  59. # keepalive超时时间
  60. keepalive_timeout 65;
  61. client_max_body_size 2m;
  62. # 不准许IP直接访问, 直接访问报500错误
  63. server {
  64. listen 80 default_server;
  65. server_name _;
  66. return 500;
  67. }
  68. # 配置虚拟主机,过个server就复制多个
  69. server {
  70. listen 80;
  71. # 开启gzip压缩
  72. gzip on;
  73. gzip_min_length 1k;
  74. gzip_buffers 4 16k;
  75. #gzip_http_version 1.0;
  76. gzip_comp_level 2;
  77. gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php;
  78. gzip_vary off;
  79. gzip_disable "MSIE [1-6]\.";
  80. # 配置域名
  81. server_name www.xxxxx.com xxxxx.com;
  82. # 配置网站目录
  83. root /usr/local/nginx/html/xxxxx.com;
  84. # 只允许我们的域名的访问
  85. if ($host !~ ^(xxxxx.com|www.xxxxx.com|images.xxxxx.com)$ ) {
  86. return 444;
  87. }
  88. # 配置域名重定向
  89. #if ($host != 'www.xxxxx.com' ) {
  90. # rewrite ^/(.*)$ http://www.xxxxx.com/$1 permanent;
  91. #}
  92. # 限制可用的请求方法
  93. if ($request_method !~ ^(GET|HEAD|POST)$ ) {
  94. return 444;
  95. }
  96. # 如何拒绝一些User-Agents
  97. if ($http_user_agent ~* LWP::Simple|BBBike|wget) {
  98. return 403;
  99. }
  100. # 如何防止图片盗链
  101. location /images/ {
  102. valid_referers none blocked www.xxxxx.com xxxxx.com;
  103. if ($invalid_referer) {
  104. return 403;
  105. }
  106. }
  107. location / {
  108. # 配置rewrite
  109. if (!-e $request_filename) {
  110. rewrite ^(.*)$ /index.php?s=$1 last;
  111. break;
  112. }
  113. # include /usr/local/nginx/html/yphp/.htaccess;
  114. # rewrite ^/(.+)/(.+)[/]?$ /index.php?m=$1&a=$2 last;
  115. # 配置默认访问文件
  116. index index.php index.html index.htm;
  117. }
  118. # 包含虚拟主机公用配置文件
  119. include server.conf;
  120. }
  121. }

Nginx 性能参数优化的更多相关文章

  1. [转帖]Java虚拟机(JVM)体系结构概述及各种性能参数优化总结

    Java虚拟机(JVM)体系结构概述及各种性能参数优化总结 2014年09月11日 23:05:27 zhongwen7710 阅读数 1437 标签: JVM调优jvm 更多 个人分类: Java知 ...

  2. nginx+php-fpm性能参数优化原则

    1.worker_processes 越大越好(一定数量后性能增加不明显)   2.worker_cpu_affinity 所有cpu平分worker_processes 要比每个worker_pro ...

  3. nginx 配置参数优化

    nginx作为高性能web服务器,即使不特意调整配置参数也可以处理大量的并发请求.以下的配置参数是借鉴网上的一些调优参数,仅作为参考,不见得适于你的线上业务. worker进程 worker_proc ...

  4. Java虚拟机(JVM)体系结构概述及各种性能参数优化总结

    转自:http://blog.csdn.net/zhongwen7710/article/details/39213377 第一部分:相关的概念 数据类型 Java虚拟机中,数据类型可以分为两类:基本 ...

  5. Mysql性能参数优化

    1.Max_connections (1)简介 Mysql的最大连接数,如果服务器的并发请求量比较大,可以调高这个值,当然这是要建立在机器能够支撑的情况下,因为如果连接数越来越多,mysql会为每个连 ...

  6. JVM性能参数优化

    以上是jdk1.7的默认GC回收器 Java的gc回收的类型主要有几种 UseSerialGC, UseConcMarkSweepGC, UseParNewGC, UseParallelGC, Use ...

  7. Php 性能参数优化 及 Iptables 防火墙限制用户访问平率

    Php-Fpm.Conf 文件配置优化 [global] pid = run/php-fpm.pid process_control_timeout=5 [www] listen.allowed_cl ...

  8. Nginx性能优化技巧(6)

    一.编译安装过程优化 1.减小Nginx编译后的文件大小 在编译Nginx时,默认以debug模式进行,而在debug模式下会插入很多跟踪和ASSERT之类的信息,编译完成后,一个Nginx要有好几兆 ...

  9. Nginx性能优化

    一.编译安装过程优化 1.减小Nginx编译后的文件大小 在编译Nginx时,默认以debug模式进行,而在debug模式下会插入很多跟踪和ASSERT之类的信息,编译完成后,一个Nginx要有好几兆 ...

随机推荐

  1. django笔记-model

    python manage.py sqlmigrate polls 打印人类可读格式

  2. 用hashmap实现redis有什么问题

    1.容量问题 hashmap是有最大容量的 2.时效问题 redis可以持久化,也可以定时时间 hashmap不可以持久化 3.线程并发问题 hashmap不是线程安全的(并且:多线程同时调用hash ...

  3. 透视效果shader(边缘光)

    思路:渲染两次. 1.第一次渲染:利用Greater进行深度测试,当目标被遮挡时,用一个边缘光的效果显示. 2.第二次渲染:正常渲染. 边缘光的思路:观察方向和顶点法向量夹角越大,边缘光越明显.边缘光 ...

  4. mysql Access denied for user root@localhost错误解决方法总结

    原文:http://www.111cn.net/database/mysql/44142.htm Access denied for user 'root'@'localhost' (using pa ...

  5. Eclipse取消或者关闭tomcat所有自动发布(部署)方法

    1.设置publishing为Never publish automaticallu 2.modules->edit->auto reloading enabled 3.Windows & ...

  6. iphone数据存储之-- Core Data的使用

    一.概念 1.Core Data 是数据持久化存储的最佳方式 2.数据最终的存储类型可以是:SQLite数据库,XML,二进制,内存里,或自定义数据类型 在Mac OS X 10.5Leopard及以 ...

  7. c++ 网络编程(三) LINUX/windows 进程间的通信原理与实现代码 基于多进程的服务端实现

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/9613027.html 锲子:进程与线程是什么,他们的区别在哪里: 1 进程概念 进程是程序的一 ...

  8. SQL Cookbook—插入、更新与删除

    涉及到的问题–1.从一个表向另外的表中复制行–2.复制表定义(包含表记录)–3.一次向多个表中插入记录–4.–5.当相应行存在时更新–6.用其他表中的值更新–7.删除违反参照完整性的记录 –1.从一个 ...

  9. hibernate 学习笔记3

    1. 多对多关联: 在双方都要用一个类型为Set的属性保存对方的信息,并在映射配置文件中指定这个属性的名字,并指定中间表.还需要通过<key column=””>来指定自己在中间表中对应的 ...

  10. hibernate 学习笔记1

    Hibernate session1 1.连接池的最小连接数指的是连接池初始化之后,就存在的连接数,这些连接放在内存中,等待被使用.最大连接数限定了连接池中最大同时连接数量,如果超过了这个数量,则进入 ...