Nginx反向代理并开启缓存+url重写+带健康检测的负载均衡

Nginx实现 反代并开启缓存+url地址重写+带RS健康状态检查的负载均衡规划图如下

Nginx反向代理并开启缓存+url重写+带健康检测的负载均衡

1.RS的准备

方便实验,rpm软件包安装,能使用ip访问网页即可

2.nginx的编译安装

# yum -y install pcre-devel

2.1首先添加用户nginx,实现以之运行nginx服务进程:

# groupadd -r nginx

# useradd -r -g nginx -s /bin/false -M nginx

2.2接着开始编译和安装:

  1. # ./configure \ 
  2.   --prefix=/usr \ 
  3.   --sbin-path=/usr/sbin/nginx \ 
  4.   --conf-path=/etc/nginx/nginx.conf \ 
  5.   --error-log-path=/var/log/nginx/error.log \ 
  6.   --http-log-path=/var/log/nginx/access.log \ 
  7.   --pid-path=/var/run/nginx/nginx.pid  \ 
  8.   --lock-path=/var/lock/nginx.lock \ 
  9.   --user=nginx \ 
  10.   --group=nginx \ 
  11.   --with-http_ssl_module \ 
  12.   --with-http_flv_module \ 
  13.   --with-http_stub_status_module \ 
  14.   --with-http_gzip_static_module \ 
  15.   --http-client-body-temp-path=/var/tmp/nginx/client/ \ 
  16.   --http-proxy-temp-path=/var/tmp/nginx/proxy/ \ 
  17.   --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \ 
  18.   --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \ 
  19.   --http-scgi-temp-path=/var/tmp/nginx/scgi \ 
  20.   --with-pcre 
  21.  
  22. # make && make install 

3.反代的实现,和缓存的开启

3.1配置步骤

  1. #cd /etc/nginx 
  2. # sed -i '/^[[:space:]]*#.*/d' nginx.conf     
  3. # sed -i '/^$/d' nginx.conf 
  4. # vim /etc/nginx/nginx.conf 
  5. worker_processes  1; 
  6. events { 
  7.     worker_connections  1024; 
  8. http { 
  9.     include       mime.types; 
  10.     default_type  application/octet-stream; 
  11.     sendfile        on; 
  12.   keepalive_timeout  65; 
  13.   开启缓存添加如下三行: 
  14.   proxy_cache_path /var/www/cache  levels=1:2 keys_zone=mycache:20m  
  15.   *$1:定义缓存存储目录,手动创建 
  16.   *$2:缓存级别,表示缓存目录的第一级目录是1个字符,第二级目录是2个字符 
  17.   *$3:内核中建立用于缓存缓存数据源数据的空间,查找缓存的时候,先从这个内核空间中找到,缓存数据的源数据,然后再到对应目录中查找缓存。 
  18.   max_size=2048m inactive=60m
  19.   *$1:缓存空间最大值 
  20.   *$2:缓存的数据,60分钟内没有被访问过就删除 
  21.   proxy_temp_path /var/www/cache/tmp; 
  22.   *创建缓存的时候可能生成一些临时文件存放的位置,自动创建 
  23.     server { 
  24.         listen       80; 
  25.         server_name  localhost; 
  26.         
  27.  location / { 
  28.         注释掉下面两行: 
  29.             #root   html; 
  30.             #index  index.html index.htm; 
  31.   添加如下内容: 
  32.   proxy_pass http://192.168.1.104/;     代理哪个web服务器 
  33.   proxy_cache mycache;             内存缓存源数据空间名字,对应我们前面的设定 
  34.   proxy_cache_valid 200 302 60m;     页面返回码为200 302 的缓存60分 
  35.   proxy_cache_valid 404 1m;          页面错误响应吗404缓存时间1分 
  36.         } 
  37.         error_page   500 502 503 504  /50x.html; 
  38.         location = /50x.html { 
  39.             root   html; 
  40.         } 
  41.   } 
  42.   #mkdir /var/www/cache 
  43.   #/usr/sbin/nginx  /etc/nginx/nginx.conf 

相关推荐