Linux Disibutaion:Ubuntu 16.04.1 LTShtml
Web Server:Nginx、Kestrellinux
關於如何在linux中部署asp.net core我這裏再也不詳細介紹,能夠參考ASP.Net Core 運行在Linux(Ubuntu)
這裏我須要三臺VM:
nginxvm01:作負載均衡服務器
nginxvm02:服務節點1
nginxvm03:服務節點2
大體服務架構以下圖:nginx
配置負載均衡節點(nginxvm01):bash
sudo apt-get install -y nginx sudo touch /etc/nginx/sites-available/nginxlb-proxy sudo vi /etc/nginx/sites-available/nginxlb-proxy
nginx網站配置文件都在/etc/nginx/sites-available目錄下。服務器
激活的網站在/etc/nginx/sites-enabled目錄下。架構
nginx配置文件參考Configuration File Structure in the Nginx Guideapp
將一下內容寫入nginxlb-proxy文件中:負載均衡
upstream nginxlb { server nginxservice.cloudapp.net:8082; server nginxservice.cloudapp.net:8083; } server { listen 8081 default_server; server_name nginxservice.cloudapp.net; location / { proxy_pass http://nginxlb; proxy_set_header X-Real-IP $remote_addr; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503; } }
使用nginx作負載均衡有多種模式,參考官網Using nginx as HTTP load balancerasp.net
nginx的幾種負載方式我都測試過。ide
重啓加載nginx配置文件
sudo nginx -t sudo nginx -s reload
到了這一步,nginx默認啓用的站點是default,咱們須要改變啓用的站點爲nginxlb-proxy
sudo ln -s /etc/nginx/sites-available/nginxlb-proxy /etc/nginx/sites-enabled/ #刪除默認啓用的站點default sudo rm /etc/nginx/sites-enabled/default #重啓nginx sudo service nginx restart
服務節點asp.net core網站部署步驟,參考以前的博客。