nginx配置虚拟主机负载均衡和防盗链实例

Posted on Posted in nginx
Tips: 本文创建于2015年11月10日,已超过 2 年,内容或图片可能已经失效!

nginx虚拟主机配置实例

  1. http {  
  2.     server {  
  3.         listen  80;  
  4.         server_name www.abc.com;  
  5.         access_log  logs/abc.access.log main;  
  6.         location / {  
  7.             index   index.html;  
  8.             root    /web/www/abc.com/htdocs;  
  9.         }  
  10.     }  
  11.     server {  
  12.         listen  80;  
  13.         server_name www.cbd.com;  
  14.         access_log  logs/cbd.access.log main;  
  15.         location / {  
  16.             index   index.html;  
  17.             root    /web/www/cbd.com/htdocs;  
  18.         }  
  19.     }  
  20.     include /opt/nginx/conf/vhosts/www.def.com.conf;  
  21. }  
  22. vim /opt/nginx/conf/vhosts/www.def.com.conf  
  23. server {  
  24.     listen  80;  
  25.     server_name www.def.com;  
  26.     access_log  logs/def.access.log main;  
  27.     location / {  
  28.         index   index.html;  
  29.         root    /web/www/def.com/htdocs;  
  30.     }  
  31. }  

nginx负载均衡配置实例

  1. http {  
  2.     upstream myserver {  
  3.         server  192.168.1.2:80 weight=3 max_fails=3 fail_timeout=20s;  
  4.         server  192.168.1.3:80 weight=1 max_fails=3 fail_timeout=20s;  
  5.         server  192.168.1.4:80 weight=4 max_fails=3 fail_timeout=20s;  
  6.     }  
  7.     server {  
  8.         listen  80;  
  9.         server_name www.domain.com  192.168.1.7;  
  10.         index   index.htm   index.html;  
  11.         root    /www/web/wwwroot;  
  12.         location / {  
  13.             proxy_pass  http://myserver;  
  14.             proxy_next_upstream http_500 http_502 http_503 error timeout invalid_header;    #proxy_next_upstream定义故障转移,超时转发到负载均衡组中的另一台服务器。  
  15.             include /opt/nginx/conf/proxy.conf;  
  16.         }  
  17.     }  
  18. }  
  19.   
  20. vim /opt/nginx/conf/proxy.conf  
  21.   
  22. proxy_redirect  off;  
  23. proxy_set_header    Host    $host;  #proxy_set_header 设置由后端服务器获取用户的主机名和真实IP,以及代理者的真实IP  
  24. proxy_set_header    X-Real-IP   $remote_addr;  
  25. proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;  
  26. client_body_buffer_size 128k;   #指定客户端请求主题缓冲区大小,可以理解为先保存到本地,再传给用户  
  27. proxy_connect_timeout   90; #后端服务器连接的超时时间,即发起握手等候响应的超时时间  
  28. proxy_send_timeout  90;     #表示后端服务器的数据回传时间,即在规定时间内后端服务器必须传完所有的数据,否则断开连接  
  29. proxy_read_timeout  90;     #设置nginx从代理的后端服务器获取信息的时间,表示连接成功后,nginx等待后端服务器的响应时间,其实是nginx已经进入后端的排队之中等候处理的时间  
  30. proxy_buffer_size   4k;     #设置缓冲区大小。默认等于proxy_buffers的大小  
  31. proxy_buffers   4   32k;    #设置缓冲区的数量和大小。  
  32. proxy_busy_buffers_size 64k;    #设置系统很忙时可以使用的proxy_buffers大小,官方建议为proxy_buffers*2  
  33. proxy_temp_file_write_size  64k;    #缓存临时文件的大小  

nginx防盗链配置实例

  1. location ~* \.(jpg|gif|png|swf|flv|wma|wmv|asf|mp3|mmf|zip|rar)$ {  
  2.     valid_referers none blocked *.abc.net abc.net;  #*.abc.net abc.net这个请求可以正常访问  
  3.     if($valid_referers) {  
  4.         rewrite ^/ http://www.abc.com/img/error.gif;  
  5.         #return 403;  
  6.     }  
  7. }  
  8. location /images {  
  9.     root /opt/nginx/html;  
  10.     valid_referers none blocked *.abc.net abc.net;  
  11.     if($valid_referers){  
  12.         return 403;  
  13.     }  
  14. }  

更复杂的防盗链,可以使用nginx的HttpAccessKeyModule

Leave a Reply

Your email address will not be published. Required fields are marked *

sixteen + ten =