ASP.NET Core 部署
大约 2 分钟约 557 字
ASP.NET Core 部署
原始IIS部署
ASP.NET Core 模块
安装- 下载相关版本的Hosting Bundle :https://dotnet.microsoft.com/zh-cn/download/dotnet
- 点击下载的文件,直接等待安装完成
准备项目,发布
- 演示源码:链接:https://pan.baidu.com/s/1ygmf-bGvsOSKkGyqmahPxw?pwd=3zje
- VS 点击WEB程序发布
- 配置发布文件
- 开始发布
- 检查web.config文件
部署至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-centos
准备环境
- 将 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代理暴露服务,有利于安全防护