win 10 dockerはnginxを配置してdotnetcoreアプリケーションに対して負荷の均衡を実現します
2813 ワード
nginx機能
リバースエージェント、ロードバランシング、ピクチャ、CSS、JSなどの静的リソースのキャッシュ
順方向エージェントと逆方向エージェント
フォワードエージェント
プロキシクライアント、プロキシクライアントが要求を発行し、クライアントはアクセスする実際のアドレスを知っています.
逆プロキシ
エージェントサービス側、代行サービス側は要求を受信して、クライアントはアクセスする本当の住所を知りません
win 10 dockerはnginxを配置してdotnetcoreアプリケーションに対して負荷の均衡を実現します
一、nginxの配置
アクセスlocalhost正常にアクセスできるかどうかを確認
二、nginxファイル検査
nginx関連フォルダコンテナ内の位置ログ位置:/var/log/nginx/プロファイル位置:/etc/nginx/プロジェクト位置:/usr/share/nginx/html
三、nginx.confファイルの変更コンテナからホスト へプロファイルをコピーする.ローカルホストwww.helloworldを配置する.com ホストnginxを修正する.confファイル が容器 に更新する.
四、dotnetcore応用の配置ホスト直接運転 コンテナ配置Dockerfile作成
ミラーを生成して3つのコンテナを実行
リファレンス
Dockerでnginxを実行し、ローカルディレクトリをミラーにマウントするwin 10 linux docker nginx tomcatクラスタ負荷等化-ピットNginx簡易チュートリアル
リバースエージェント、ロードバランシング、ピクチャ、CSS、JSなどの静的リソースのキャッシュ
順方向エージェントと逆方向エージェント
フォワードエージェント
プロキシクライアント、プロキシクライアントが要求を発行し、クライアントはアクセスする実際のアドレスを知っています.
逆プロキシ
エージェントサービス側、代行サービス側は要求を受信して、クライアントはアクセスする本当の住所を知りません
win 10 dockerはnginxを配置してdotnetcoreアプリケーションに対して負荷の均衡を実現します
一、nginxの配置
#
docker pull nginx:latest
# , ,
docker run --name nginx-test -v C:/nginx/log:/var/log/nginx -p 80:80 -d nginx:latest
アクセスlocalhost正常にアクセスできるかどうかを確認
二、nginxファイル検査
nginx関連フォルダコンテナ内の位置ログ位置:/var/log/nginx/プロファイル位置:/etc/nginx/プロジェクト位置:/usr/share/nginx/html
#
docker exec -it [ id] bash
三、nginx.confファイルの変更
docker cp nginx-test:/etc/nginx/nginx.conf C:/nginx
#
http{
#
upstream load_balance_server {
#weigth ,
#ip ipconfig , 127.0.0.1 localhost
server 192.168.43.10:8111 weight=5;
server 192.168.43.10:8112 weight=1;
server 192.168.43.10:8113 weight=6;
}
#HTTP
server {
# 80
listen 80;
# www.xx.com
server_name www.helloworld.com;
#
location / {
root /root; #
index index.html index.htm; #
proxy_pass http://load_balance_server ;# load_balance_server
}
}
}
# ,
docker cp C:/nginx/nginx.conf nginx-test:/etc/nginx
# ,
docker restart nginx-test
四、dotnetcore応用の配置
dotnet run --urls http://*:8111
dotnet run --urls http://*:8112
dotnet run --urls http://*:8113
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build
WORKDIR /app
# copy csproj and restore as distinct layers
COPY *.sln .
COPY WebApp/*.csproj ./WebApp/
RUN dotnet restore
# copy everything else and build app
COPY WebApp/. ./WebApp/
WORKDIR /app/WebApp
RUN dotnet publish -c Release -o out
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1 AS runtime
WORKDIR /app
COPY --from=build /app/WebApp/out ./
ENTRYPOINT ["dotnet", "WebApp.dll", "--urls", "http://*:8111"]
ミラーを生成して3つのコンテナを実行
docker build -t webapp .
docker run --name webapp -d -p 8111:8111 webapp
docker run --name webapp2 -d -p 8112:8111 webapp
docker run --name webapp3 -d -p 8113:8111 webapp
リファレンス
Dockerでnginxを実行し、ローカルディレクトリをミラーにマウントするwin 10 linux docker nginx tomcatクラスタ負荷等化-ピットNginx簡易チュートリアル