win10 docker部署nginx对dotnetcore应用实现负载均衡
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了win10 docker部署nginx对dotnetcore应用实现负载均衡,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2544字,纯文字阅读大概需要4分钟。
内容图文
原文:win10 docker部署nginx对dotnetcore应用实现负载均衡
nginx功能
反向代理,负载均衡,缓存静态资源,如图片、CSS、JS
正向代理和反向代理
正向代理
代理客户端,代客户端发出请求,客户端知道要访问的真实地址,如vpn
反向代理
代理服务端,代服务端接收请求,客户端不知道要访问的真实地址
win10 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
- 配置本地host www.helloworld.com
- 修改宿主机nginx.conf文件
#省略原有配置信息
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
- 容器部署
Dockerfile编写
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并挂载本地目录到镜像中
win10 linux docker nginx tomcat 集群负载均衡-天坑
Nginx 简易教程
内容总结
以上是互联网集市为您收集整理的win10 docker部署nginx对dotnetcore应用实现负载均衡全部内容,希望文章能够帮你解决win10 docker部署nginx对dotnetcore应用实现负载均衡所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。