Nginx反向代理以及负载均衡配置
2018-03-15 00:00
561 查看
摘要: 在博客园上看到一篇博文,由于windows下不支持nginx缓存配置,所以只讲解了Nginx的反向代理和负载均衡
首先,nginx能做反向代理,那么什么是反向代理呢,举个栗子,我想在本地使用 www.mickey.com 的域名去访问 www.taobao.com。那么这个时候我们就可以通过nginx去实现。
再者,nginx能实现负载均衡,什么是负载均衡呢?就是我的项目部署在不同的服务器上,但是通过统一的域名进入,nginx则对请求进行分发,减轻了服务器的压力。
在上面这两种情况下,nginx服务器的作用都只是作为分发服务器,真正的内容,我们可以放在其他的服务器上,这样来,还能起到一层安全隔壁的作用,nginx作为隔离层。
其次,nginx还能解决跨域的问题
源码在此,码云
![](https://images2015.cnblogs.com/blog/915308/201704/915308-20170419192531071-1429528792.png)
在浏览器输入
本机ip:4789
本机ip:5789
可以访问到这两个页面
![](https://images2015.cnblogs.com/blog/915308/201704/915308-20170419192710071-606733097.png)
![](https://images2015.cnblogs.com/blog/915308/201704/915308-20170419192719571-2107232693.png)
接着我们想使用
test.nginx.com访问到 页面5789
test.nginx.com/bug 访问到页面5789
则我们首先需要配置hosts
win 下hosts 的地址为 C:\Windows\System32\drivers\etc
我们需要在hosts文件里面添加如下配置
然后在 nginx 的 http 模块上添加一个 server
然后重启nginx
在浏览器输入 test.nginx.com;在浏览器输入 test.nginx.com/bug
![](https://images2015.cnblogs.com/blog/915308/201704/915308-20170419193151821-1477185256.png)
![](https://images2015.cnblogs.com/blog/915308/201704/915308-20170419193232821-176906669.png)
反向代理就这样子啦。
首先配置负载均衡的服务
在http模块中添加如下配置:定义服务器列表
把server改为
在浏览器输入 test.nginx.com,刷新,我们可以看到两种页面,说明nginx已经把我们的请求分发到不同的地方去了。
![](https://images2015.cnblogs.com/blog/915308/201704/915308-20170419193613462-2066077395.png)
一、为什么要使用nginx
要回答为什么要使用nginx,那就先说说nginx能做些什么。首先,nginx能做反向代理,那么什么是反向代理呢,举个栗子,我想在本地使用 www.mickey.com 的域名去访问 www.taobao.com。那么这个时候我们就可以通过nginx去实现。
再者,nginx能实现负载均衡,什么是负载均衡呢?就是我的项目部署在不同的服务器上,但是通过统一的域名进入,nginx则对请求进行分发,减轻了服务器的压力。
在上面这两种情况下,nginx服务器的作用都只是作为分发服务器,真正的内容,我们可以放在其他的服务器上,这样来,还能起到一层安全隔壁的作用,nginx作为隔离层。
其次,nginx还能解决跨域的问题
二、nginx安装
nginx安装,亲测成功(CentOS 7下Nginx服务器的安装以及配置)三、nginx配置属性说明
配置文件网上很多,这是我转载别人的四、nginx反向代理
为了更好的理解,这儿转载了程序媛_Mickey的博文 ,感谢!源码在此,码云
![](https://images2015.cnblogs.com/blog/915308/201704/915308-20170419192531071-1429528792.png)
npm install node server.js
在浏览器输入
本机ip:4789
本机ip:5789
可以访问到这两个页面
![](https://images2015.cnblogs.com/blog/915308/201704/915308-20170419192710071-606733097.png)
![](https://images2015.cnblogs.com/blog/915308/201704/915308-20170419192719571-2107232693.png)
接着我们想使用
test.nginx.com访问到 页面5789
test.nginx.com/bug 访问到页面5789
则我们首先需要配置hosts
win 下hosts 的地址为 C:\Windows\System32\drivers\etc
我们需要在hosts文件里面添加如下配置
172.18.144.23 test.nginx.com
然后在 nginx 的 http 模块上添加一个 server
server { listen 80; server_name test.nginx.com; location / { proxy_pass http://172.18.144.23:4789/; } location /buy { proxy_pass http://172.18.144.23:5789/; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
然后重启nginx
在浏览器输入 test.nginx.com;在浏览器输入 test.nginx.com/bug
![](https://images2015.cnblogs.com/blog/915308/201704/915308-20170419193151821-1477185256.png)
![](https://images2015.cnblogs.com/blog/915308/201704/915308-20170419193232821-176906669.png)
反向代理就这样子啦。
四、nginx负载均衡
在nginx中配置http首先配置负载均衡的服务
在http模块中添加如下配置:定义服务器列表
upstream webservers { server 172.18.144.23:4789 weight=10; server 172.18.144.23:5789 weight=10; }
把server改为
server { listen 80; server_name test.nginx.com; location / { proxy_pass http://webservers; } location /buy { proxy_pass http://172.18.144.23:5789/; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
在浏览器输入 test.nginx.com,刷新,我们可以看到两种页面,说明nginx已经把我们的请求分发到不同的地方去了。
![](https://images2015.cnblogs.com/blog/915308/201704/915308-20170419193613462-2066077395.png)
![](https://images2015.cnblogs.com/blog/915308/201704/915308-20170419193635415-1336869986.png)
相关文章推荐
- Nginx反向代理以及负载均衡配置
- 【Day27】什么是nginx,以及通过 nginx 实现静态文件转发、反向代理和负载均衡的配置
- Nginx安装以及反向代理配置
- nginx反向代理和负载均衡的配置
- 学习Nginx HTTP负载均衡和反向代理的配置与优化(二)
- nginx的配置、虚拟主机、负载均衡和反向代理(1)
- nginx 负载均衡配置以及用proxy_redirect替换URL
- nginx 服务器的反向代理和负载均衡配置
- 在ubuntu上面配置nginx实现反向代理和负载均衡
- nginx配置以及反向代理
- nginx的反向代理搭建配置以及搭建过程中的一些思维发散
- nginx的重定向,反向代理以及负载均衡
- 配置nginx的反向代理及负载均衡
- 分布式数据库的实现,以及负载均衡和反向代理,动静分离的配置
- Windos环境用Nginx配置反向代理和负载均衡
- Nginx反向代理以及配置优化
- nginx的反向代理和负载均衡配置方法
- Nginx反向代理Tomcat实现现负载均衡(高可用)以及利用redis+Session同步会话共享配置详解
- Nginx实现反向代理,负载均衡,url重写以及健康检测
- nginx的配置、虚拟主机、负载均衡和反向代理(3)