.Net Core + Nginx实现项目负载均衡的全步骤

2025-05-29 0 89

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

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

.Net Core + Nginx实现项目负载均衡的全步骤

首先使用docker安装nginx.

?

1
docker pull nginx:latest

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

?

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

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

.Net Core + Nginx实现项目负载均衡的全步骤

浏览器中访问一下

.Net Core + Nginx实现项目负载均衡的全步骤

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

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

.Net Core + Nginx实现项目负载均衡的全步骤

进入nginx容器

?

1
docker exec -it nginx bash

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

.Net Core + Nginx实现项目负载均衡的全步骤

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

?

1

2
apt-get update

apt-get install vim

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

.Net Core + Nginx实现项目负载均衡的全步骤

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

.Net Core + Nginx实现项目负载均衡的全步骤

.Net Core + Nginx实现项目负载均衡的全步骤

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50
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;

#}

}

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

?

1
docker restart nginx

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

.Net Core + Nginx实现项目负载均衡的全步骤

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

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

?

1

2

3

4

5

6
upstream serviceinstance{

#nginx默认轮询下面的服务实例

server ***.**.***.***:9007 weight=1;

server ***.**.***.***:9008 weight=2;

server ***.**.***.***:9009 weight=3;

}

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

总结

到此这篇关于.net core + nginx实现项目负载均衡的文章就介绍到这了,更多相关.net core+nginx项目负载均衡内容请搜索快网idc以前的文章或继续浏览下面的相关文章希望大家以后多多支持快网idc!

原文链接:https://www.cnblogs.com/zhangnever/p/13288939.html

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 .Net Core + Nginx实现项目负载均衡的全步骤 https://www.kuaiidc.com/97688.html

相关文章

发表评论
暂无评论