您的位置:首页 > 运维架构 > 反向代理

Nginx反向代理以及负载均衡配置

2018-03-15 00:00 561 查看
摘要: 在博客园上看到一篇博文,由于windows下不支持nginx缓存配置,所以只讲解了Nginx的反向代理和负载均衡

一、为什么要使用nginx

要回答为什么要使用nginx,那就先说说nginx能做些什么。

首先,nginx能做反向代理,那么什么是反向代理呢,举个栗子,我想在本地使用 www.mickey.com 的域名去访问 www.taobao.com。那么这个时候我们就可以通过nginx去实现。

再者,nginx能实现负载均衡,什么是负载均衡呢?就是我的项目部署在不同的服务器上,但是通过统一的域名进入,nginx则对请求进行分发,减轻了服务器的压力。
在上面这两种情况下,nginx服务器的作用都只是作为分发服务器,真正的内容,我们可以放在其他的服务器上,这样来,还能起到一层安全隔壁的作用,nginx作为隔离层。

其次,nginx还能解决跨域的问题

二、nginx安装

nginx安装,亲测成功(CentOS 7下Nginx服务器的安装以及配置)

三、nginx配置属性说明

配置文件网上很多,这是我转载别人的

四、nginx反向代理

为了更好的理解,这儿转载了程序媛_Mickey的博文 ,感谢!

源码在此,码云



npm install
node server.js


在浏览器输入
本机ip:4789
本机ip:5789
可以访问到这两个页面





接着我们想使用

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





反向代理就这样子啦。

四、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已经把我们的请求分发到不同的地方去了。



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息