ASP.NET Core 部署

SunnyFan大约 2 分钟约 557 字

ASP.NETopen in new window Core 部署

原始IIS部署

安装 ASP.NETopen in new window Core 模块

图

  • 点击下载的文件,直接等待安装完成

准备项目,发布

部署至IIS

  • 添加应用程序池,.NET CLR版本选择:无托管代码
  • 新建网站 图
  • 点击浏览,检查是否成功 图

CentOS Docker部署

安装Docker环境

Docker环境安装不做详细描述,请参考Docker环境安装

准备项目,制作Docker镜像

  • 将发布文件上传至Linux系统
  • 准备Dockerfile 文件
cd /var/www/core/sunnyfan #进入上传的发布文件根目录
vi Dockerfile #创建Dockerfile文件

#Dockerfile文件内容
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
COPY . /app
WORKDIR /app
EXPOSE 80
ENTRYPOINT ["dotnet", "SunnyFan.EasySimple.Web.dll"]
  • 制作images
# 注意后面的空格点,为必须
docker build -t sunnyfan/easysimple_api .

运行

  • 启动
docker run --name es_api --restart=always -d -p 8088:80 sunnyfan/easysimple_api
  • 防火墙放行端口
#查看防火墙目前的放行端口列表
firewall-cmd --list-ports
#添加防火墙放行端口(permanent代表永久生效)
firewall-cmd --add-port=8088/tcp --permanent
#重新加载防火墙(添加完放行端口一定要重新加载防火墙)
firewall-cmd --reload

图

  • 验证访问是否成功 图

CentOS 直装(不推荐,存在环境版本支持要求)

具体查看官方:https://learn.microsoft.com/zh-cn/dotnet/core/install/linux-centosopen in new window

准备环境

  • 将 Microsoft 包签名密钥添加到受信任密钥列表,并添加 Microsoft 包存储库
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
  • 安装运行时
sudo yum install aspnetcore-runtime-6.0

启动测试

dotnet SunnyFan.EasySimple.Web.dll --urls http://0.0.0.0:8088	 

配合进程守护(Supervisor)

进程守护教程参考 Supervisor

  • 配置内容
[program:easysimple_api]
command=dotnet SunnyFan.EasySimple.Web.dll --urls http://0.0.0.0:8088
directory=/var/www/core/sunnyfan/
autorestart=true
startsecs=3
startretries=3
stdout_logfile=/www/server/panel/plugin/supervisor/log/easysimple_api.out.log
stderr_logfile=/www/server/panel/plugin/supervisor/log/easysimple_api.err.log
stdout_logfile_maxbytes=2MB
stderr_logfile_maxbytes=2MB
user=root
priority=999
numprocs=1
process_name=%(program_name)s_%(process_num)02d

备注

Linux下请配合Nginx代理暴露服务,有利于安全防护