一、代理服务器配置
# -- 全局块 -- #user nobody; #运行用户 worker_processes 1; #启动进程,通常设置成和cpu的数量相等 #error_log logs/error.log; #全局错误日志 #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; #PID文件 # -- 工作模式及连接数上限 -- events { use epoll; #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能 worker_connections 1024; #单个后台worker process进程的最大并发链接数 } # -- 设定http服务器,利用它的反向代理功能提供负载均衡支持 -- http { #设定mime类型,类型由mime.type文件定义 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; #sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用,必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime. sendfile on; tcp_nopush on; #连接超时时间 keepalive_timeout 65; -- 长连接timeout #开启gzip压缩 gzip on; #设定负载均衡的服务器列表 upstream fdfs_group1{ #weigth参数表示权值,权值越高被分配到的几率越大 server 192.168.8.1:9991 weight=5; server 192.168.8.2:9991 weight=1; server 192.168.8.3:9991 weight=6; } server{ #侦听80端口 listen 80; #定义使用www.xx.com 或者 localhost访问 server_name www.xx.com; #设定本虚拟主机的访问日志 access_log logs/www.xx.com.access.log main; #对/group1/M00开头的请求进行负载均衡 location ~/group1/M00{ #请求转向fdfs_group1定义的服务器列表 proxy_pass http://fdfs_group1; #以下是一些反向代理的配置可删除. proxy_redirect off; #后端的Web服务器可以通过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跟后端服务器连接超时时间(代理连接超时) proxy_send_timeout 90; #后端服务器数据回传时间(代理发送超时) proxy_read_timeout 90; #连接成功后,后端服务器响应时间(代理接收超时) proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小 proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置 proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2) proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传 } # 定义错误提示页面 error_page 500 502 503 504 /50x.html; location = /50x.html{ root html; } } }
二、 被代理服务器配置
#user nobody; #运行用户 worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { 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; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; -- 长连接timeout #gzip on; server { listen 9991; server_name localhost; location / { root html; index index.html index.htm; } location ~/group1/M00 { root /data/fastdfs_storage_data; ngx_fastdfs_module; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }