三、netcore跨平台之 Linux配置nginx负载均衡
前面两章讲了netcore在linux上部署以及配置nginx,并让nginx代理webapi。
这一章主要讲如何配置负载均衡,有些步骤在前两章讲的很详细了,所以这一章我就不会一个个截图了。
因为本人只有一个服务器。所以我会在同一台服务器上部署两套差不多的实例。
同样的代码,我们在Program.cs进行了修改,如图所示:
这里我把原来的端口6666改成了8888
然后你可以改一改你的接口部分的代码,便于让你更好的看到效果。
这里把value1和value2改成value3和value4,这里是为了看到测试效果,在实际的开发中这里不用改。
然后发布和上传到服务器,如何发布和上传,我在第一章有讲到:upload/201911211044040728.png" alt="" style="margin: 0px; padding: 0px; border: 0px; max-width: 900px; height: auto;" />
上传结束后,在这个目录中运行你的程序,输入下面的命令
dotnet WebApiTest.dll --server.urls "http://*:8888"
如图所示
然后去看看你的接口是否正常
好了,这里的准备工作完成了,下面我们进入到nginx的配置的目录中
输入下面的命令:
cd /usr/local/nginx/conf
然后对文件进行编辑
vim nginx.conf
我们需要在这里修改一下配置。
在如图的server的平级添加如下的代码
upstream NgWebApi { server localhost:6666; server localhost:8888; }
上面的 NgWebApi是随意写的名称,不要纠结这里。
然后在修改 proxy_pass后面的内容:
proxy_pass http://NgWebApi;
最终的结果如下:
这样你就修改完成,输入:wq退出并保存即可。
最后检查并重启nginx
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s reload
最后不要忘记把你的8888端口的webapi启动一下。
这里我务必要提醒你,请进入到你的程序的目录中执行这段代码,
cd /root/netcore1
dotnet WebApiTest.dll --server.urls "http://*:8888"