Chinaunix首页 | 论坛 | 博客
  • 博客访问: 358056
  • 博文数量: 213
  • 博客积分: 566
  • 博客等级: 中士
  • 技术积分: 1210
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-21 13:09
文章分类

全部博文(213)

文章存档

2015年(1)

2013年(7)

2012年(128)

2011年(77)

分类:

2012-04-03 01:19:14

原文地址:nginx生产环境配置 作者:feihan21

通用配置
  1. user  nginx; 
  2. worker_processes  16;  #根据cpu核数确定 
  3.   
  4. error_log  /web/log/nginx-error.log; 
  5. pid        logs/nginx.pid; 
  6.   
  7.   
  8. events { 
  9.         use epoll;     #使用epoll方式 
  10.         worker_connections  8192; 
  11.   
  12.   
  13. http { 
  14.         #通用配置选项 
  15.         include       mime.types; 
  16.         default_type  application/octet-stream; 
  17.   
  18.         server_names_hash_bucket_size 128; 
  19.         client_header_buffer_size 32k; 
  20.         large_client_header_buffers 4 32k; 
  21.         client_max_body_size 8m; 
  22.   
  23.         #性能优化选项 
  24.         sendfile on; 
  25.         tcp_nopush     on; 
  26.         keepalive_timeout 60; 
  27.         tcp_nodelay on; 
  28.   
  29.         #FastCGI通用配置 
  30.         fastcgi_connect_timeout 300; 
  31.         fastcgi_send_timeout 300; 
  32.         fastcgi_read_timeout 300; 
  33.         fastcgi_buffer_size 64k; 
  34.         fastcgi_buffers 4 64k; 
  35.         fastcgi_busy_buffers_size 128k; 
  36.         fastcgi_temp_file_write_size 128k; 
  37.   
  38.         #Gzip压缩选项 
  39.         gzip on; 
  40.         gzip_min_length  1k; 
  41.         gzip_buffers     4 16k; 
  42.         gzip_comp_level 6; 
  43.         gzip_types       text/plain application/x-javascript text/css application/xml; 
  44.         gzip_vary on; 
  45.   
  46.         #日志格式 
  47.         log_format main 
  48.                 '$remote_addr - $remote_user [$time_local] "$request" ' 
  49.                 '$status $body_bytes_sent "$http_referer" ' 
  50.                 '"$http_user_agent" "$http_x_forwarded_for"'; 
  51.   
  52.         #默认server 
  53.         server { 
  54.                 listen 80 default; 
  55.                 root /dev/null; 
  56.                 location / { 
  57.                         return 404; 
  58.                         access_log off; 
  59.                 } 
  60.         } 
  61.   
  62.         #包含其他配置文件的路径,此处是相对主程序路径 
  63.         include conf.d/*.conf; 
  64.   

详细配置

  1. server { 
  2.         listen       80 ; 
  3.         server_name  .........; 
  4.         index index.html index.php; 
  5.         root  /web/wwwroot/snapB/app/webroot; 
  6.   
  7.         include block.conf;  #关键词过滤配置文件 
  8.         #rewrite规则,前两条是为了访问二级域名时跳转到三级域名,后面几条是因为搜索引擎收录了我们错误的url 
  9.         if ($host = '......') { 
  10.                 rewrite  ^/(.*)$  
  11.         } 
  12.   
  13.         if ($host = '.......') { 
  14.                 rewrite  ^/(.*)$  
  15.         } 
  16.   
  17.         #根据user-agent阻止恶意流量 
  18.         if ($http_user_agent ~* ".*(Huaweisymantecspider|huaweisymantecspider|Wget|wget|robot|spideri|MJ12bot|HTTrack|crawl|Python|python|Java|java|Perl|perl|PHP|php).*") { 
  19.                 set $var_bad_user_agent '1'; 
  20.         } 
  21.         if ($http_user_agent ~ "^$") { 
  22.                 set $var_bad_user_agnet '1'; 
  23.         } 
  24.         if ($http_user_agent ~* ".*(BaiDu|Sougou|Google).*") { 
  25.                 set $var_bad_user_a
  26.   配置文件与说明   通用配置
    gent '0'; 
  27.         } 
  28.         if ($var_bad_user_agent ~ '1') { 
  29.                 return 403; 
  30.         } 
  31.   
  32.         location / { 
  33.                 # For bbpress 
  34.                 if ($uri ~ ^/forum){ 
  35.                         break; 
  36.                 } 
  37.   
  38.                 #cakephp配置 
  39.                 if (-f $request_filename) { 
  40.                         break; 
  41.                 } 
  42.                 if (!-f $request_filename) { 
  43.                         rewrite ^/(. )$ /index.php?url=$1 last; 
  44.                         break; 
  45.                 } 
  46.   
  47.         } 
  48.   
  49.         #forum虚拟目录和rewrite规则 
  50.         location  /forum { 
  51.                 alias /web/wwwroot/snapB/app/forum; 
  52.                 index index.php; 
  53.                 if (!-e $request_filename) { 
  54.                         rewrite ^/forum/topic/(.*)$ /forum/topic.php?q=$1 last; 
  55.                         rewrite ^/forum/forum/(.*)$ /forum/forum.php?q=$1 last; 
  56.                         rewrite ^/forum/profile/(.*)$ /forum/profile.php?q=$1 last; 
  57.                         rewrite ^/forum/view/(.*)$ /forum/view.php?q=$1 last; 
  58.                         rewrite ^/forum/tags/(.*)$ /forum/tags.php?q=$1 last; 
  59.                         rewrite ^/forum/rss/(.*)$ /forum/rss.php?q=$1 last; 
  60.                         rewrite ^/forum/bb-admin/ /forum/bb-admin/index.php last; 
  61.                         rewrite ^/forum/ /forum/index.php last; 
  62.                         break; 
  63.                 } 
  64.         } 
  65.         #客户端缓存javascript配置 
  66.         location /js { 
  67.                 expires max; 
  68.         } 
  69.         location /css { 
  70.                 expires max; 
  71.         } 
  72.         location /img { 
  73.                 expires max; 
  74.         } 
  75.         #php-fpm配置 
  76.         location ~ .*\.(php|php5)?$ { 
  77.                 # For bbpress 
  78.                 if ($uri ~ ^/forum){ 
  79.                         root /web/wwwroot/snapB/app/; 
  80.                 } 
  81.                 fastcgi_pass  unix:/dev/shm/php-fpm.sock; 
  82.                 fastcgi_index index.php; 
  83.                 include fcgi.conf; 
  84.         } 
  85.                 access_log  /web/log/........log main; 
  86. }
阅读(625) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~