反向代理与负载均衡
nginx通常被用作后端服务器的反向代理,这样就可以很方便的实现动静分离以及负载均衡,从而大大提高服务器的处理能力。
nginx实现动静分离,其实就是在反向代理的时候,如果是静态资源,就直接从nginx发布的路径去读取,而不需要从后台服务器获取了。
但是要注意,这种情况下需要保证后端跟前端的程序保持一致,可以使用Rsync做服务端自动同步或者使用NFS、MFS分布式共享存储。
Http Proxy模块,功能很多,最常用的是proxy_pass和proxy_cache
如果要使用proxy_cache,需要集成第三方的ngx_cache_purge模块,用来清除指定的URL缓存。这个集成需要在安装nginx的时候去做,如:
环境说明./configure --add-module=…/ngx_cache_purge-1.0 …
各服务已部署完成
Dynamic
Static
DR
[root@DR ~]# vim /usr/local/nginx/conf/nginx.conf upstream Dynamic { server 192.168.101.120 # 在server段上添加 } upstream Static { server 192.168.101.200 } #location / { # root html; # index index.html index.html #将这段添加注释 ; #} location ~ .php$ { proxy_pass http://Dynamic; # 在server段添加 } location / { proxy_pass http://Static; } [root@DR ~]# nginx -s reload
测试效果
当访问根目录的时候默认是跳到静态的httpd上
当访问动态资源时就自动跳到Dynamic上
DR上
[root@DR ~]# vim /usr/local/nginx/conf/nginx.conf upstream LJT { server 192.168.101.120; server 192.168.101.200; # 在server段上面添加 } location / { proxy_pass http://LJT; # 在server段内添加 }
测试效果
刷新,每刷新一次就在Dynamic和Static上跳转
也可设置权重,让高性能主机的多处理任务
[root@DR ~]# vim /usr/local/nginx/conf/nginx.conf upstream LJT { server 192.168.101.120 weight=3; # 设置权重就会多处理任务 server 192.168.101.200; # 在server段上面添加 } location / { proxy_pass http://LJT; # 在server段内添加 }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)