nginx 负载均衡 404_Nginx+.Net Core实现项目负载均衡

本文介绍了如何通过Docker部署Nginx,并配置Nginx实现负载均衡。首先,拉取并运行Nginx镜像,将本地8080端口映射到容器的80端口。然后,在Nginx容器中修改配置文件,特别是在`server`块中,设置多个webapi服务实例。最后,通过调整`upstream`中的`weight`值来控制请求分配权重,实现了负载均衡。文章还鼓励读者进一步探索Nginx的强大功能。
摘要由CSDN通过智能技术生成

Nginx大家如果没用过那或多或少都应该听过,vue的部署、反向代理、负载均衡nginx都能帮你做到。

今天主要说一下nginx负载均衡我们的项目,如下图所示,请求到达nginx,nginx再帮我们转发。

04bb82114fc882a989f4959d2c76df93.png

首先使用Docker安装nginx.

docker pull nginx:latest

运行容器,将本地的8080端口映射到容器内部的 80 端口.

docker run --name nginx -p 8080:80 -d nginx

查看nginx容器,如果有错请看日志.

94446bdfa48d56539cd50e1b17b6fdef.png

浏览器中访问一下

117e153d0ca1fd6a5fbfa738f506a9c2.png

ok,到此我们的nginx就已安装完成。

我们准备好3个以上的webapi的项目并发布。

f46ccf318bfd86fb8cca06218b7d39ce.png

进入nginx容器

Docker exec -it nginx bash

找到nginx.conf文件并作修改,nginx.conf分为http块、events块和server块,此次主要在server块中做更改.

2b916a883cb8570b079bec9d3df6a133.png

此时在nginx容器里面使用vi或者vim没有用,需要依次执行如下两条命令

apt-get update  apt-get install vim

进入文件内,末尾处指向了另一个文件,没错这个文件里就是放server块配置内容

cd99bb9d6d60622aa552ce0fef10fe0f.png

进入etc/nginx/conf.d/default.conf文件中并做修改

ad5ee4a9bcec2a4c1c7a1c4aa982879b.png
bf3787eaef9dbe8c64fcd3f40a52f20e.png
upstream ServiceInstance{     #nginx默认轮询下面的服务实例    server ***.**.***.***:9007;     server ***.**.***.***:9008;     server ***.**.***.***:9009;} server {     listen       80;     server_name  localhost;      #charset koi8-r;     #access_log  /var/log/nginx/host.access.log  main;      location / {         #root   /usr/share/nginx/html;         #index  index.html index.htm;         #请求到达后会进行转发        proxy_pass http://ServiceInstance;     }      #error_page  404              /404.html;      # redirect server error pages to the static page /50x.html     #     error_page   500 502 503 504  /50x.html;     location = /50x.html {         root   /usr/share/nginx/html;     }      # proxy the PHP scripts to Apache listening on 127.0.0.1:80     #     #location ~ .php$ {     #    proxy_pass   http://127.0.0.1;     #}      # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000     #     #location ~ .php$ {     #    root           html;     #    fastcgi_pass   127.0.0.1:9000;     #    fastcgi_index  index.php;     #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;     #    include        fastcgi_params;     #}      # deny access to .htaccess files, if Apache's document root     # concurs with nginx's one     #     #location ~ /.ht {     #    deny  all;     #} }

完成之后重启一下容器,如果有错误请查看日志.

docker restart nginx

浏览器中调用一个接口查看

042fe4586dcc2181543bd78043926297.png

每一次都会轮询不同的服务实例,负载均衡的预期就实现了!

我们也可以设置权重比例,weight值越大,请求达到此实例的次数就越多!

upstream ServiceInstance{     #nginx默认轮询下面的服务实例    server ***.**.***.***:9007 weight=1;     server ***.**.***.***:9008 weight=2;     server ***.**.***.***:9009 weight=3;} 

各位同学也可慢慢研究,nginx很强大的!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值