使用Nginx实现反向代理和负载均衡
2017-11-08 19:44
645 查看
开发互联网项目基本上就不得不使用到nginx,这里自己对nginx做一个总结。
ngnix是俄罗斯开发的一个轻量级的web服务器,优点就是占用内存少,并发处理能力强,目前国内大部分互联网项目都是使用到ngnix。
核心功能:分发请求。分发请求是nginx最核心的功能,是实现ngnix反向代理、负载均衡功能的前提。
一般在项目中,使用ngnix实现两个功能
ngnix就可以作为http服务器遵循http协议实现这些远程服务器资源访问。
反向代理则代理服务器对于客户机是不可见的,一般是跟远程服务器绑定,用户只需要发送请求,不知道是否有通过代理来访问远程服务器,网络相对安全。
作用:通过作为反向代理服务器实现,在集群项目中需要用到,提高了项目的并发访问量和容错性,实现项目高可用高并发的需求。
在conf目录下,有一个ngnix.conf文件,这个文件就是ngnix的核心配置文件,里面配置了ngnix服务端口,定位范围资源的路径,在ngnix启动的时候,就会默认该配置文件,对于ngnix的反向代理和负载功能的配置也是通过配置这个文件来实现的。
实现两个不同服务器反向代理
在server在声明代理地址 proxy_pass http://e3mall;再通过upstream e3mall{ }配置好实际的ip地址。
实现负载均衡
先使用反向代理 proxy_pass http://e3mall ,在通过upstream e3mall{ }配置负载均衡的几个服务器IP地址,weight表示在分发请求的占比,越高表示分到的请求越多,默认可以不写,以轮询的方式分发请求。
ngnix是俄罗斯开发的一个轻量级的web服务器,优点就是占用内存少,并发处理能力强,目前国内大部分互联网项目都是使用到ngnix。
核心功能:分发请求。分发请求是nginx最核心的功能,是实现ngnix反向代理、负载均衡功能的前提。
一般在项目中,使用ngnix实现两个功能
ngnix作为http服务器
加载远程服务器资源如图片服务器、静态页面时,浏览器不能直接访问这些静态资源,必须遵循http协议,ngnix就可以作为http服务器遵循http协议实现这些远程服务器资源访问。
ngnix作为反向代理服务器
在正向代理中中间代理服务器对于客户机是可见的(一般需要客户机自己配置),客户机通过代理服务器访问远程服务器,因为代理服务器是暴露状态,网络相对来说不够安全。反向代理则代理服务器对于客户机是不可见的,一般是跟远程服务器绑定,用户只需要发送请求,不知道是否有通过代理来访问远程服务器,网络相对安全。
ngnix实现负载均衡
负载均衡:将所有请求平均分发到每台服务器。作用:通过作为反向代理服务器实现,在集群项目中需要用到,提高了项目的并发访问量和容错性,实现项目高可用高并发的需求。
ngnix执行过程
ngnix根目录结构 conf:核心配置文件 html:静态资源 sbin:执行命令文件
在conf目录下,有一个ngnix.conf文件,这个文件就是ngnix的核心配置文件,里面配置了ngnix服务端口,定位范围资源的路径,在ngnix启动的时候,就会默认该配置文件,对于ngnix的反向代理和负载功能的配置也是通过配置这个文件来实现的。
ngnix实现反向代理和负载均衡配置示例
配置ngnix也就是配置conf目录下的ngnix。conf配置文件。实现两个不同服务器反向代理
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; upstream e3mall{ server 192.168.66.66:9001; } upstream jd{ server 192.168.66.66:9000; } server { listen 80; server_name www.e3mall.cn; location / { #root html; #index index.html index.htm; proxy_pass http://e3mall; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } server { listen 80; server_name www.jd.com; location / { #root html-81; #index index.html index.htm; proxy_pass http://jd; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }
在server在声明代理地址 proxy_pass http://e3mall;再通过upstream e3mall{ }配置好实际的ip地址。
实现负载均衡
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; upstream e3mall{ server 192.168.66.66:9000 weight=2; server 192.168.66.66:9001 weight=1; server 192.168.66.66:9002 weight=1; } server { listen 80; server_name www.e3mall.cn; location / { #root html; #index index.html index.htm; proxy_pass http://e3mall; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }
先使用反向代理 proxy_pass http://e3mall ,在通过upstream e3mall{ }配置负载均衡的几个服务器IP地址,weight表示在分发请求的占比,越高表示分到的请求越多,默认可以不写,以轮询的方式分发请求。
相关文章推荐
- windows2008 使用nginx 反向代理实现负载均衡解决HTTPS 证书问题
- 使用nginx简单实现反向代理和负载均衡
- Nginx实现反向代理,负载均衡,url重写以及健康检测
- nginx反向代理实现http负载均衡
- nginx和tomcat实现反向代理、负载均衡和session共享
- nginx实现反向代理与负载均衡
- 告别LVS:使用keepalived+nginx实现负载均衡代理多个https
- 带健康状态监测的nginx做反向代理多台服务器实现负载均衡
- centos6.6 x86_64 + nginx1.6.2 实现反向代理和负载均衡
- 在ubuntu上面配置nginx实现反向代理和负载均衡
- CentOS系统中配置Nginx服务器实现反向代理和负载均衡
- 【ghost】centos使用nginx实现ghost博客系统的反向代理
- 使用Nginx轻松实现开源负载均衡
- nginx简单实现反向代理和负载均衡
- 使用Nginx轻松实现开源负载均衡
- 告别LVS—使用keepalived+nginx实现负载均衡代理多个HTTPS
- lighttpd 使用反向代理实现简单负载均衡(多域名多内网主机实现)
- 用Nginx做反向代理实现负载均衡
- nginx和tomcat实现反向代理、负载均衡和session共享
- Nginx实现反向代理,负载均衡,url重写以及健康检测