近期在做开放查询应用的时候,因为数据两天特别多,两千多万条呢,用户訪问需求也比較大,所以就用nginx做了

负载均衡,以下是改动之后的相关内容。

http://www.cnblogs.com/xiaogangqq123/archive/2011/03/02/1969006.html

在此记录下Nginxservernginx.conf的配置文件说明, 部分凝视收集与网络.

#执行用户

user www-data;    

#启动进程,通常设置成和cpu的数量相等

worker_processes  1;

#全局错误日志及PID文件

error_log  /var/log/nginx/error.log;

pid        /var/run/nginx.pid;

#工作模式及连接数上限

events {

    use   epoll;             #epoll是多路复用IO(I/O Multiplexing)中的一种方式,可是仅用于linux2.6以上内核,能够大大提高nginx的性能

    worker_connections  1024;#单个后台worker process进程的最大并发链接数

    # multi_accept on; 

}

#设定httpserver,利用它的反向代理功能提供负载均衡支持

http {

     #设定mime类型,类型由mime.type文件定义

    include       /etc/nginx/mime.types;

    default_type  application/octet-stream;

    #设定日志格式

    access_log    /var/log/nginx/access.log;

#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]\.(?

!.*SV1)";

#设定请求缓冲

    client_header_buffer_size    1k;

    large_client_header_buffers  4 4k;

include /etc/nginx/conf.d/*.conf;

    include /etc/nginx/sites-enabled/*;

#设定负载均衡的server列表

     upstream mysvr {

    #weigth參数表示权值。权值越高被分配到的几率越大

    #本机上的Squid开启3128port

    server 192.168.8.1:3128 weight=5;

    server 192.168.8.2:80  weight=1;

    server 192.168.8.3:80  weight=6;

    }

server {

    #侦听80port

        listen       80;

        #定义使用www.xx.com訪问

        server_name  www.xx.com;

#设定本虚拟主机的訪问日志

        access_log  logs/www.xx.com.access.log  main;

#默认请求

    location / {

          root   /root;      #定义server的默认站点根文件夹位置

          index index.php index.html index.htm;   #定义首页索引文件的名称

fastcgi_pass  www.xx.com;

         fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name; 

          include /etc/nginx/fastcgi_params;

        }

# 定义错误提示页面

    error_page   500 502 503 504 /50x.html;  

        location = /50x.html {

        root   /root;

    }

#静态文件,nginx自己处理

    location ~ ^/(images|javascript|js|css|flash|media|static)/ {

        root /var/www/virtual/htdocs;

        #过期30天。静态文件不怎么更新,过期能够设大一点,假设频繁更新。则能够设置得小一点。

expires 30d;

    }

    #PHP 脚本请求所有转发到 FastCGI处理. 使用FastCGI默认配置.

    location ~ \.php$ {

        root /root;

        fastcgi_pass 127.0.0.1:9000;

        fastcgi_index index.php;

        fastcgi_param SCRIPT_FILENAME /home/www/www$fastcgi_script_name;

        include fastcgi_params;

    }

    #设定查看Nginx状态的地址

    location /NginxStatus {

        stub_status            on;

        access_log              on;

        auth_basic              "NginxStatus";

        auth_basic_user_file  conf/htpasswd;

    }

    #禁止訪问 .htxxx 文件

    location ~ /\.ht {

        deny all;

    }

     

     }

}

以上是一些主要的配置,使用Nginx最大的优点就是负载均衡

假设要使用负载均衡的话,能够改动配置http节点例如以下:

#设定httpserver,利用它的反向代理功能提供负载均衡支持

http {

     #设定mime类型,类型由mime.type文件定义

    include       /etc/nginx/mime.types;

    default_type  application/octet-stream;

    #设定日志格式

    access_log    /var/log/nginx/access.log;

#省略上文有的一些配置节点

#。

。。。

。。

。。。。

#设定负载均衡的server列表

     upstream mysvr {

    #weigth參数表示权值,权值越高被分配到的几率越大

    server 192.168.8.1x:3128 weight=5;#本机上的Squid开启3128port

    server 192.168.8.2x:80  weight=1;

    server 192.168.8.3x:80  weight=6;

    }

upstream mysvr2 {

    #weigth參数表示权值,权值越高被分配到的几率越大

server 192.168.8.x:80  weight=1;

    server 192.168.8.x:80  weight=6;

    }

#第一个虚拟server

   server {

    #侦听192.168.8.x的80port

        listen       80;

        server_name  192.168.8.x;

#对aspx后缀的进行负载均衡请求

    location ~ .*\.aspx$ {

root   /root;      #定义server的默认站点根文件夹位置

          index index.php index.html index.htm;   #定义首页索引文件的名称

proxy_pass  http://mysvr ;#请求转向mysvr 定义的server列表

#下面是一些反向代理的配置可删除.

proxy_redirect off;

#后端的Webserver能够通过X-Forwarded-For获取用户真实IP

          proxy_set_header Host $host;

          proxy_set_header X-Real-IP $remote_addr;

          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

          client_max_body_size 10m;    #同意客户端请求的最大单文件字节数

          client_body_buffer_size 128k;  #缓冲区代理缓冲用户端请求的最大字节数,

          proxy_connect_timeout 90;  #nginx跟后端server连接超时时间(代理连接超时)

          proxy_send_timeout 90;        #后端server数据回传时间(代理发送超时)

          proxy_read_timeout 90;         #连接成功后,后端server响应时间(代理接收超时)

          proxy_buffer_size 4k;             #设置代理server(nginx)保存用户头信息的缓冲区大小

          proxy_buffers 4 32k;               #proxy_buffers缓冲区,网页平均在32k下面的话,这样设置

          proxy_busy_buffers_size 64k;    #高负荷下缓冲大小(proxy_buffers*2)

          proxy_temp_file_write_size 64k;  #设定缓存目录大小。大于这个值,将从upstreamserver传

}

}

}

最新文章

  1. paip.powerdesign cdm pdm文件 代码生成器 java web 页面 实现
  2. angular入门系列教程2
  3. Python快速入门学习笔记(三)——函数的定义与调用
  4. ROHS無鉛問題解答!ROHS IPC SGS
  5. HADOOP报错Incompatible namespaceIDs
  6. 黄聪:Microsoft Enterprise Library 5.0 系列教程(五) Data Access Application Block
  7. API接口开发简述示例
  8. php basename()文件夹 路径 文件后缀名 读取pathinfo()
  9. ●BZOJ 4518 [Sdoi2016]征途
  10. sql server数据字符串分割功能sql
  11. Activiti开发案例之activiti-app工作流导出图片
  12. Redis Windows 64位下安装Redis详细教程
  13. restfull环境搭建-helloword(三)
  14. L1正则和L2正则的比较分析详解
  15. AngularJs ng-repeat用法二$parent.$index
  16. thinkphp save() 跟新失败
  17. MySQL生产环境下的主从复制启动项
  18. delphi 线程的应用 和spcomm的应用
  19. Android中注解的使用
  20. Message: 'geckodriver' executable needs to be in PATH. 解决方法

热门文章

  1. [ CodeVS冲杯之路 ] P1154
  2. C# 编写的Windows serice程序. 安装时出现异常!
  3. Distributed Cache Coherence at Scalable Requestor Filter Pipes that Accumulate Invalidation Acknowledgements from other Requestor Filter Pipes Using Ordering Messages from Central Snoop Tag
  4. android hook 框架 ADBI 如何实现so函数挂钩
  5. 配置Nginx来支持php
  6. 【转】玩转Android Camera开发(三):国内首发---使用GLSurfaceView预览Camera 基础拍照demo
  7. (转)代码中实现button
  8. Bean 生命周期&&模块化配置
  9. JavaEE目录
  10. Bean装配--xml