Nginx 配置负载均衡
Windows下在iis创建3个网站,监听3个端口,分别是9011,9012,9013
创建Asp.net core网站并发布到上面3个网站里,默认页面如下代码:
public class HomeController : Controller { public IActionResult Index() { //返回当前网站目录 return Content(Directory.GetCurrentDirectory()); } }
编写Nginx配置文件:
upstream resinserver { server 127.0.0.1:9011; server 127.0.0.1:9012; server 127.0.0.1:9013; } server { listen 80; server_name localhost; location / { root html; index index.html index.htm; #下面2行是重点 proxy_pass http://resinserver; proxy_set_header Host $host; } }
然后启动Nginx,每次刷新页面显示不同路径
现在的Session会出现丢失问题,可以继承控制器利用Redis + Cookie的session_id替换掉原来的Session
还可以用下面配置解决Session问题:
upstream resinserver { ip_hash; #每个用户只会请求其中一个ip的网站 server 127.0.0.1:9011; server 127.0.0.1:9012; server 127.0.0.1:9013; }
下面是效果图: