文章目录
- 系列文章
- 一、Linux上部署Nginx
- 1.1 Centos 安装配置环境
- 1.2 使用Systemctl 控制Nginx
- 二、部署IIS
- 三、部署Docker
- 3.1 创建 Dockerfile 文件
- 3.2 构建 Docker 镜像
- 3.3 运行 Docker 容器
- 3.4 检查容器运行情况
- 结束语
作者:xcLeigh
文章地址:https://blog.csdn.net/weixin_43151418/article/details/131459091
asp.net core框架搭建4-部署IIS/Nginx/Docker
,下面让咋们一起来部署webapi到IIS和nginx/Docker,将一步步带着大家,实现目标。所有操作过程将展现在本篇文章,下面咋们一起来实现它吧。
系列文章
- asp.net core 框架搭建1-搭建webapi
- asp.net core 框架搭建2-搭建MVC后台管理系统
- asp.net core 框架搭建3-搭建个人博客,公司官网
- asp.net core 框架搭建4-部署IIS/nguix
一、Linux上部署Nginx
项目使用的是 - asp.net core 框架搭建1-搭建webapi ,这篇文章的项目打包。
1.1 Centos 安装配置环境
//第一步 安装nginx
yum install -y nginx//第二步 安装asp.net core运行包
yum install -y aspnetcore-runtime-6.0.x86_64 //第三步 设置nginx开机自启动
systemctl enable nginx//第四步 打开防火墙端口
firewall-cmd --add-port=80/tcp --permanent //命令永久打开//第五步 运行dotnet应用dotnet Webapi.dll --urls="http://*:5000"
1.2 使用Systemctl 控制Nginx
//启动nginx服务
systemctl start nginx//停止服务
systemctl stop nginx//重新启动服务
systemctl restart nginx//查看所有已启动的服务
systemctl list-units --type=service//查看服务当前状态
systemctl status nginx//设置开机自启动
systemctl enable nginx//停止开机自启动
systemctl disable nginx
二、部署IIS
项目使用的是 - asp.net core 框架搭建1-搭建webapi ,这篇文章的项目打包。
1 安装IIS和Net6 runtime bundle.exe (包括了runtime和iis支持)
2 复制发布的文件文件到网站目录
3 添加上传ssl证书或者使用iis创建自定义证书
4 在iis去除勾选ssl,绑定ssl端口到网站,并配置iis证书
5 测试,输入http://url会直接302跳转到https://url
三、部署Docker
项目使用的是 - asp.net core 框架搭建1-搭建webapi ,这篇文章的项目打包。
3.1 创建 Dockerfile 文件
在ASP.NET Core 项目的根目录下创建一个名为Dockerfile的文件。这个文件用于定义 Docker 镜像的构建规则。
基本内容示例:
FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
WORKDIR /src
COPY ["YourProject.csproj", ""]
RUN dotnet restore "./YourProject.csproj"
COPY..
WORKDIR "/src/YourProject"
RUN dotnet build "YourProject.csproj" -c Release -o /app/buildFROM build AS publish
RUN dotnet publish "YourProject.csproj" -c Release -o /app/publishFROM base AS final
WORKDIR /app
COPY --from=publish /app/publish.
ENTRYPOINT ["dotnet", "YourProject.dll"]
解释:
- 第一部分(
FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base
):以ASP.NET Core 运行时镜像为基础镜像,版本为 7.0。WORKDIR /app
设置工作目录为/app,EXPOSE 80和EXPOSE 443表示容器内部的应用将在这两个端口上监听。 - 第二部分(
FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
):以ASP.NET Core SDK 镜像为基础进行构建。首先设置工作目录为/src,然后复制项目文件(COPY ["YourProject.csproj", ""])
,运行dotnet restore来恢复项目依赖。接着复制整个项目目录(COPY…),并构建项目(RUN dotnet build),输出到/app/build目录。 - 第三部分(
FROM build AS publish
):从构建阶段继承,发布项目到/app/publish目录。 - 第四部分(
FROM base AS final
):从最初的运行时基础镜像继承,将发布的文件复制到运行时容器的/app目录,并设置应用的入口点为dotnet YourProject.dll。
3.2 构建 Docker 镜像
打开命令行工具,导航到包含Dockerfile的项目目录。
运行命令docker build -t your - image - name:tag.
,例如docker build -t myaspnetapp:latest.
。
这个命令会根据Dockerfile中的指令构建一个名为myaspnetapp,标签为latest的 Docker 镜像。构建过程可能需要一些时间,具体取决于项目的大小和网络速度,因为它需要下载基础镜像和相关的依赖。
3.3 运行 Docker 容器
构建好镜像后,可以通过命令docker run -d -p 8080:80 your - image - name:tag
来运行容器。例如docker run -d -p 8080:80 myaspnetapp:latest
。
解释:
- -d表示容器在后台运行(detached mode)。
- -p 8080:80是端口映射,将主机的 8080 端口映射到容器内部的 80 端口。这样,当访问主机的 8080 端口时,请求会被转发到容器内应用监听的 80 端口。
3.4 检查容器运行情况
可以使用docker ps命令来查看正在运行的容器。它会显示容器的 ID、镜像名称、创建时间、状态等信息。
如果应用在容器内出现问题,可以通过docker logs container - id
来查看容器的日志。将container - id
替换为实际的容器 ID,日志信息可以帮助诊断应用启动或运行过程中的错误。
结束语
亲爱的朋友,无论前路如何漫长与崎岖,都请怀揣梦想的火种,因为在生活的广袤星空中,总有一颗属于你的璀璨星辰在熠熠生辉,静候你抵达。
愿你在这纷繁世间,能时常收获微小而确定的幸福,如春日微风轻拂面庞,所有的疲惫与烦恼都能被温柔以待,内心永远充盈着安宁与慰藉。
至此,文章已至尾声,而您的故事仍在续写,不知您对文中所叙有何独特见解?期待您在心中与我对话,开启思想的新交流。
💢 关注博主 带你实现畅游前后端
🏰 加入社区 带你体验马航不孤单
💯 神秘个人简介 带你体验不一样得介绍
💘 为爱表白 为你那个TA,体验别致的浪漫惊喜
🎀 酷炫邀请函 带你体验高大上得邀请
① 🉑提供云服务部署(有自己的阿里云);
② 🉑提供前端、后端、应用程序、H5、小程序、公众号等相关业务;
如🈶合作请联系我,期待您的联系。
注:本文撰写于CSDN平台,作者:xcLeigh(所有权归作者所有),https://blog.csdn.net/weixin_43151418,如果相关下载没有跳转,请查看这个地址,相关链接没有跳转,皆是抄袭本文,转载请备注本文原地址。
亲,码字不易,动动小手,欢迎 点赞 ➕ 收藏,如 🈶 问题请留言(评论),博主看见后一定及时给您答复,💌💌💌
原文地址:https://blog.csdn.net/weixin_43151418/article/details/131459091(防止抄袭,原文地址不可删除)