当前位置: 代码迷 >> Web前端 >> NGINX-金山逍遥网配备
  详细解决方案

NGINX-金山逍遥网配备

热度:179   发布时间:2012-10-09 10:21:45.0
NGINX-金山逍遥网配置
user  www www;

worker_processes 8;

error_log  /data1/logs/nginx_error.log  crit;

pid        /usr/local/webserver/nginx/nginx.pid;

#Specifies the value for maximum file descriptors that can be opened by this process. 
worker_rlimit_nofile 51200;

events 
{
 use epoll;
 worker_connections 51200;
}

http 
{
 include       mime.types;
 default_type  application/octet-stream;

 #charset  utf-8;
     
 server_names_hash_bucket_size 128;
 client_header_buffer_size 32k;
 large_client_header_buffers 4 32k;
     
 sendfile on;
 #tcp_nopush     on;

 keepalive_timeout 30;

 tcp_nodelay on;

 fastcgi_connect_timeout 300;
 fastcgi_send_timeout 300;
 fastcgi_read_timeout 300;
 fastcgi_buffer_size 64k;
 fastcgi_buffers 4 64k;
 fastcgi_busy_buffers_size 128k;
 fastcgi_temp_file_write_size 128k;

 gzip on;
 gzip_min_length  1k;
 gzip_buffers     4 16k;
 gzip_http_version 1.1;
 gzip_comp_level 2;
 gzip_types       text/plain application/x-javascript text/css application/xml;
 gzip_vary on;

 limit_zone  anti_attack  $binary_remote_addr  10m;

 #允许客户端请求的最大的单个文件字节数
 client_max_body_size     300m;

 #缓冲区代理缓冲用户端请求的最大字节数 可以理解为先保存到本地再传给用户
 client_body_buffer_size  128k;
              
 #跟后端服务器连接的超时时间_发起握手等候响应超时时间
 proxy_connect_timeout    600;
                
 #连接成功后_等候后端服务器响应时间_其实已经进入后端的排队之中等候处理
 proxy_read_timeout       600;
              
 #后端服务器数据回传时间_就是在规定时间之内后端服务器必须传完所有的数据
 proxy_send_timeout       600;
              
 #代理请求缓存区_这个缓存区间会保存用户的头信息以供Nginx进行规则处理_一般只要能保存下头信息即可
 proxy_buffer_size        16k;
              
 #同上 告诉Nginx保存单个用的几个Buffer 最大用多大空间
 proxy_buffers            4 32k;
              
 #如果系统很忙的时候可以申请更大的proxy_buffers 官方推荐*2 
 proxy_busy_buffers_size 64k;
              
 #proxy缓存临时文件的大小
 proxy_temp_file_write_size 64k;

 #缓存
 proxy_temp_path /data2/proxy_temp_path;
 proxy_cache_path  /data2/proxy_cache_path  levels=1:2   keys_zone=cache_one:2000m inactive=1d max_size=5m;

 upstream my_server_pool {
   server   xx.xx.xx.1:80 weight=1 max_fails=2 fail_timeout=30s;
   server   xx.xx.xx.2:80 weight=1 max_fails=2 fail_timeout=30s;
   server   xx.xx.xx.3:80 weight=1 max_fails=2 fail_timeout=30s;
 }
 
 upstream php_server_pool {
   server   xx.xx.xx.4:80 weight=1 max_fails=2 fail_timeout=30s;
   server   xx.xx.xx.5:80 weight=1 max_fails=2 fail_timeout=30s;
   server   xx.xx.xx.6:80 weight=1 max_fails=2 fail_timeout=30s;
   server   xx.xx.xx.7:80 weight=1 max_fails=2 fail_timeout=30s;
   server   xx.xx.xx.8:80 weight=1 max_fails=2 fail_timeout=30s;
 }

 upstream bbs_server_pool {
   ip_hash;
   server   xx.xx.xx.9:80 max_fails=2 fail_timeout=30s;
   server   xx.xx.xx.10:80 max_fails=2 fail_timeout=30s;
   server   xx.xx.xx.11:80 max_fails=2 fail_timeout=30s;
   server   xx.xx.xx.12:80 max_fails=2 fail_timeout=30s;
 }

 upstream cms_server_pool {
   server   xx.xx.xx.13:80 weight=1 max_fails=2 fail_timeout=30s;
   server   xx.xx.xx.14:80 weight=1 max_fails=2 fail_timeout=30s;
 }
 
 upstream pic_server_pool {
   server   xx.xx.xx.15:80 weight=1 max_fails=2 fail_timeout=30s;
   server   xx.xx.xx.16:80 weight=1 max_fails=2 fail_timeout=30s;
 }

 upstream xoyohimsg_server_pool {
   server   xx.xx.xx.17:3245;
   server   xx.xx.xx.18:3245 down;
 }

 #xoyo.com域名跳转到www.xoyo.com
 server
 {
   listen       80;
   server_name  xoyo.com;

   rewrite ^/(.*) http://www.xoyo.com/ permanent;

   access_log  /data1/logs/xoyo.com_access.log;
 }

 #用户中心HTTPS/SSL加密浏览
 server
 {
   listen       443;
   server_name  my.xoyo.com;

   ssl on;
   ssl_certificate my.xoyo.com.crt;
   ssl_certificate_key my.xoyo.com.key;

   location /
   {
         proxy_pass http://php_server_pool;
         proxy_set_header Host  my.xoyo.com;
         proxy_set_header X-Forwarded-For  $remote_addr;
   }

   access_log  /data1/logs/my.xoyo.com_access.log;
 }

 #图片服务器,不同的路径访问后端不同的服务器
 server
 {
   listen       80;
   server_name  pic.xoyo.com;

   location /cms/
   {
         proxy_pass http://cms_server_pool;
         proxy_set_header Host  pic.xoyo.com;
                 proxy_set_header X-Forwarded-For  $remote_addr;
   }

   location /
   {
         proxy_pass http://pic_server_pool;
         proxy_set_header Host  pic.xoyo.com;
                 proxy_set_header X-Forwarded-For  $remote_addr;
   }

   access_log  /data1/logs/pic.xoyo.com_access.log;
 }

 #音频电台文件下载,进行简单防盗链
 #limit_zone   media  $binary_remote_addr  10m;
 server
 {
   listen       80;
   server_name  media.xoyo.com;

   location /
   {
       proxy_pass http://cms_server_pool;
       proxy_set_header Host  $host;
       proxy_set_header X-Forwarded-For  $remote_addr;

      valid_referers none blocked www.xoyo.com *.xoyo.com www.kingsoft.com *.kingsoft.com www.kingsoft.cn *.kingsoft.cn;
      if ($invalid_referer) {
          rewrite ^/ http://www.xoyo.com;
      }
   }

   access_log  /data1/logs/media.xoyo.com_access.log;
 }

 #逍遥有聊负载均衡,反向代理两种HTTP服务器
 server
 {
   listen       80;
   server_name  hi.xoyo.com;

   #反向代理一款定制开发的高性能消息队列HTTP服务器
   location /recmessage.xoyo
   {
         proxy_pass http://xoyohimsg_server_pool;
         proxy_set_header Host  $host;
   }

   location /
   {
         proxy_pass http://php_server_pool;
         proxy_set_header Host  $host;
         proxy_set_header X-Forwarded-For  $remote_addr;
   }

   access_log  /data1/logs/hi.xoyo.com_access.log;
 }

 #论坛负载均衡,并对图片、Flash、JavaScript、CSS、静态HTML进行Web缓存
 server{
   listen 80;
   server_name  bbs.xoyo.com *.bbs.xoyo.com bbs.xoyo.kingsoft.com;

   location /
   {
         proxy_set_header Host  $host;
         proxy_set_header X-Forwarded-For  $remote_addr;
         proxy_pass http://bbs_server_pool;
   }

   location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css|html|shtml)$
   {
         proxy_cache cache_one;
         proxy_cache_valid  200 10m;
         proxy_cache_valid  304 1m;
         proxy_cache_valid  301 302 1h;
         proxy_cache_valid  any 1m;
         proxy_cache_key $host$uri$is_args$args;
         proxy_set_header Host  $host;
         proxy_set_header X-Forwarded-For  $remote_addr;
         proxy_pass http://bbs_server_pool;
   }
  

   log_format  bbs  '$remote_addr $host $remote_user [$time_local] "$request"'
              '$status $body_bytes_sent "$http_referer" '
              '"$http_user_agent" $http_x_forwarded_for'; 
   access_log /data1/logs/bbs.xoyo.com_access.log bbs;
 }


 #论坛附件反向代理,限制下载速度为256KB/秒
 server{
   listen       80;
   server_name  att03.bbs.xoyo.com att02.bbs.xoyo.com att01.bbs.xoyo.com;

   location /
   {
         #限制下载速度为256kB/秒
         limit_rate  256k;
         proxy_pass http://xx.xx.xx.19;
         proxy_set_header Host  $host;
         proxy_set_header X-Forwarded-For  $remote_addr;
   }
  
   access_log off;
 }

 #逍遥江湖SNS社区,管理后台定位到一台服务器上,并对图片、Flash、JavaScript、CSS进行Web缓存区
 server{
   listen       80;
   server_name  hu.xoyo.com *.hu.xoyo.com;

   location /
   {
         proxy_pass http://php_server_pool;
         proxy_set_header Host  $host;
         proxy_set_header X-Forwarded-For  $remote_addr;
   }

   location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css)$
   {
         proxy_cache cache_one;
         proxy_cache_valid  200 10m;
         proxy_cache_valid  304 1m;
         proxy_cache_valid  301 302 1h;
         proxy_cache_valid  any 1m;
         proxy_cache_key $host$uri$is_args$args;
         proxy_set_header Host  $host;
         proxy_set_header X-Forwarded-For  $remote_addr;
         proxy_pass http://php_server_pool;
   }

   location ~ ^/admincp.php
   {
         #管理后台定位到一台服务器上
         proxy_pass http://xx.xx.xx.4;
         proxy_set_header Host  $host;
         proxy_set_header X-Forwarded-For  $remote_addr;
   }

   access_log /data1/logs/hu.xoyo.com_access.log;
 }
}

?

NGINX-金山逍遥网配置