Chinaunix首页 | 论坛 | 博客
  • 博客访问: 266964
  • 博文数量: 30
  • 博客积分: 380
  • 博客等级: 一等列兵
  • 技术积分: 477
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-30 21:28
文章分类

全部博文(30)

文章存档

2014年(2)

2013年(13)

2012年(15)

分类: 系统运维

2012-06-15 16:46:34

#使用的用户和组
user  www www;
#nginx进程数,按照cpu数目来指定,一般为它的倍数。
worker_processes  16;
#为每个进程分配cpu
worker_cpu_affinity  0000000000000001 0000000000000010 0000000000000100 0000000000001000 0000000000010000 0000000000100000 0000000001000000 0000000010000000 0000000100000000 0000001000000000 0000010000000000 0000100000000000 0001000000000000 0010000000000000 0100000000000000 1000000000000000;
#当一个nginx进程打开的最多文件描述符数目
worker_rlimit_nofile 65536;
error_log  /usr/local/nginx/logs/error.log  crit;
pid        logs/nginx.pid;

events {
        #使用epoll的I/O模型,优点是高效。  
        use epoll;
        #每个进程允许的最多连接数,理论上每台nginx服务器的最大连接数为worker_processes*worker_connections。
        worker_connections  65536;
}

http {
    #为打开文件指定缓存,inactive是指经过多长时间文件没被请求后删除缓存。
    open_file_cache max=65536  inactive=20s;
    #open_file_cache指令中的inactive参数时间内文件的最少使用次数
    open_file_cache_min_uses 1;
    #多长时间检查一次缓存的有效信息。
    open_file_cache_valid 30s;
    client_max_body_size 10m;

    include       mime.types;
    default_type  application/octet-stream;
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
    #access_log  logs/access.log  main;
    #下面6行自行添加
    server_names_hash_bucket_size 128;
    #body和header据内容大小适当调大,防止get和post时出现错误错误
    client_header_buffer_size 128k;
    client_body_buffer_size 128k;
    large_client_header_buffers 4 32k;
    #以下配合使用,提升下载性能,非下载等应用均打开
    sendfile    on;
    tcp_nopush  on;
    tcp_nodelay on;
#   keepalive_timeout  60;
#   send_timeout        120;
    #隐藏nginx版本
    server_tokens       off;
   
        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
 #以下适当调大,并且大小一致,防止php-cgi异常终止出现502错误
        fastcgi_buffer_size 256k;
        fastcgi_buffers 4 256k;
        fastcgi_busy_buffers_size 256k;
        fastcgi_temp_file_write_size 256k;
 
        gzip  on;
        gzip_min_length  1k;
        gzip_buffers     4 16k;
        gzip_http_version 1.0;
        gzip_comp_level 2;
        gzip_types       text/plain application/x-javascript text/css application/xml;
        gzip_vary on;
server {
        listen 80;
        server_name ;
        index index.html index.htm index.php;
        root  /data/www/;
                location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
                {
                expires 30d;
                }
                location ~ .*\.(js|css)?$
                {
                expires 1h;
                }
    location ~ .*\.(php|php5)?$
    {
      fastcgi_pass  127.0.0.1:9000;
      fastcgi_index index.php;
      include fastcgi.conf;
    }
   #支持pathinfo
   location / {
        index index.php;
       if (!-e $request_filename) {
        rewrite ^/(.*)$ /index.php/$1 last;
        break;
    }
}
location ~ .+\.php($|/) {
    set $script $uri;
    set $path_info "/";
    if ($uri ~ "^(.+\.php)(/.+)") {
        set $script $1;
        set $path_info $2;
    }
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php?IF_REWRITE=1;
    include /usr/local/nginx/conf/fastcgi_params;
    fastcgi_param PATH_INFO $path_info;
    fastcgi_param SCRIPT_FILENAME $document_root/$script;
    fastcgi_param SCRIPT_NAME $script;
}
   # location /webstatus {
    #    stub_status on;
    #    access_log off;
    #    allow x.x.x.x;
    #    deny all;
   # }
    #前端如果有LB、Squid就不能用$remote_addr 取客户端的地址
    log_format  access_www  '$http_x_forwarded_for - $remote_user [$time_local] "$request" '
              '$status $body_bytes_sent "$http_referer" '
              '"$http_user_agent" $http_x_forwarded_for';
        access_log  /usr/local/nginx/logs/www_access.log  access_www;
      }  
}
日志格式中:
$remote_addr 记录IP地址;
$remote_user 记录远程客户端用户名称;
$time_local  记录访问时间与时区;
$request     记录请求URL与HTTP协议;
$status      记录请求状态;
$body_bytes_sent 记录发送给客户端的文件主体内容大小;
$http_referer    记录是从哪个页面链接访问过来;
$http_user_agent 记录客户端浏览器的相关信息;

为防止日志太大影响服务器效率,为方便对日志进行分析,需用脚本定时切割日志.
阅读(3438) | 评论(0) | 转发(0) |
0

上一篇:自动安装Mysql

下一篇:nginx日志切割

给主人留下些什么吧!~~