linux+asp.net core+nginx四層負載均衡

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網站部署步驟,參考以前的博客。

相關文章
相關標籤/搜索