文件结构… #全局块events { #events块 …}http #http块{ … #http全局块 server #server块 { … #server全局块 location [PATTERN] #location块 { … } location [PATTERN] { … } } server { … } … #http全局块}例子#!nginx# 使用的用户和组,默认为nobody nobodyuser www www;# 指定工作衍生进程数,默认为1worker_processes 2;# 指定 pid 存放的路径pid /var/run/nginx.pid;# 制定日志路径,级别# 级别可以在下方直接使用 [ debug | info | notice | warn | error | crit ] 参数error_log /var/log/nginx.error_log info;events { # 允许的连接数 connections 2000; # use [ kqueue | rtsig | epoll | /dev/poll | select | poll ] ; # 具体内容查看 http://wiki.codemongers.com/事件模型 use kqueue;}http { # 文件扩展名与文件类型映射表 include conf/mime.types; # 文件扩展名与文件类型映射表 default_type application/octet-stream; # 自定义格式 main log_format main ‘$remote_addr - $remote_user [$time_local] ’ ‘"$request" $status $bytes_sent ’ ‘"$http_referer" “$http_user_agent” ’ ‘"$gzip_ratio"’; # 自定义格式 download log_format download ‘$remote_addr - $remote_user [$time_local] ’ ‘"$request" $status $bytes_sent ’ ‘"$http_referer" “$http_user_agent” ’ ‘"$http_range" “$sent_http_content_range”’; client_header_timeout 3m; client_body_timeout 3m; send_timeout 3m; client_header_buffer_size 1k; large_client_header_buffers 4 4k; gzip on; gzip_min_length 1100; gzip_buffers 4 8k; gzip_types text/plain; output_buffers 1 32k; postpone_output 1460; #允许sendfile方式传输文件,默认为off sendfile on; # 每个进程每次调用传输数量不能大于设定的值,默认为0,即不设上限。 # sendfile_max_chunk 100k; tcp_nopush on; tcp_nodelay on; send_lowat 12000; keepalive_timeout 75 20; # lingering_time 30; # lingering_timeout 10; # reset_timedout_connection on; server { # 监听端口 listen 80; # 域名可以有多个,用空格隔开 server_name one.example.com www.one.example.com; access_log /var/log/nginx.access_log main; # 日志格式, log_format main # 对 “/” 启用反向代理 location / { proxy_pass http://127.0.0.1:8001; proxy_redirect off; # 后端的Web服务器可以通过Host获取用户真实Host proxy_set_header Host $host; # 后端的Web服务器可以通过X-Real-IP获取用户真实remote_addr proxy_set_header X-Real-IP $remote_addr; # 后端的Web服务器可以通过X-Forwarded-For获取用户真实IP # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 允许客户端请求的最大单文件字节数 client_max_body_size 10m; # 缓冲区代理缓冲用户端请求的最大字节数 client_body_buffer_size 128k; client_body_temp_path /var/nginx/client_body_temp; # nginx跟后端服务器连接超时时间(代理连接超时) proxy_connect_timeout 90; # 后端服务器数据回传时间(代理发送超时) proxy_send_timeout 90; # 连接成功后,后端服务器响应时间(代理接收超时) proxy_read_timeout 90; proxy_send_lowat 12000; # 设置代理服务器(nginx)保存用户头信息的缓冲区大小 proxy_buffer_size 4k; # proxy_buffers缓冲区,网页平均在32k以下的设置 proxy_buffers 4 32k; # proxy_buffers缓冲区,网页平均在32k以下的设置 proxy_busy_buffers_size 64k; # 设定缓存文件夹大小,大于这个值,将从upstream服务器传 proxy_temp_file_write_size 64k; # 为存储承载从代理服务器接收到的数据的临时文件定义目录。指定目录下支持3级子目录结构 proxy_temp_path /var/nginx/proxy_temp; # 默认编码 charset utf-8; } error_page 404 /404.html; location /404.html { root /spool/www; charset on; source_charset koi8-r; } location /old_stuff/ { rewrite ^/old_stuff/(.)$ /new_stuff/$1 permanent; } location /download/ { valid_referers none blocked server_names .example.com; if ($invalid_referer) { #rewrite ^/ http://www.example.com/; return 403; } #rewrite_log on; # rewrite /download//mp3/.any_ext to /download//mp3/.mp3 rewrite ^/(download/.)/mp3/(.)..$ /$1/mp3/$2.mp3 break; root /spool/www; #autoindex on; access_log /var/log/nginx-download.access_log download; } location ~ ^.+.(jpg|jpeg|gif)$ { root /spool/www; access_log off; expires 30d; } }}