Asp.Net Core3.1的部署发布(超详细教程)
Asp.Net Core3.1在linux部署发布
一、项目的发布
1.配置端口信息
2.调整Promgram文件配置
修改如下
public static void Main(string[] args)
{
var config = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("hosting.json", optional: true)
.Build();
WebHost.CreateDefaultBuilder(args)
.UseConfiguration(config)
.UseStartup<Startup>()
.Build()
.Run();
}
3.进行发布
到此发布成功
二、下载软件工具Xshell7
1.打开软件
2.新建连接会话
四、docker的安装设置
1 更新yum到最新
yum update
2 安装需要的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
3 设置yum源为阿里云
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4 安装docker
yum install docker-ce
5 查看版本,确定是否安装成功
docker -v
显示版本号,即安装成功
6 启动Docker
systemctl start docker
二 拉取asp .net core镜像
docker pull mcr.microsoft.com/dotnet/core/aspnet:3.1
三 根据镜像创建容器并启动容器
docker run -id --name=dotnet1 -v ~/DllFile:/DllFile -p 8886:8886 mcr.microsoft.com/dotnet/core/aspnet
五、部署
1.文件放置到服务器上
2.项目的运行
在 cd DllFile 再添加一条:
docker exce -it dotnet1 bin/bash
特别注意!!!!
3.如果是无法访问,需要配置服务器可接受的端口
第一步:
在Xshell会话
服务器对对应端口开放
1. 防火墙是否设置对应的端口为开放:
2.如需要开放8886端口,输入命令如下:
查询8886端口是否开放:firewall-cmd --query-port=8886/tcp
3.当输入为no时,输入命令:firewall-cmd --permanent --add-port=8886/tcp 来开 放端口
4.设置完毕后,重启防火墙:firewall-cmd --reload
第二步:
到阿里云控制台
1.开放阿里云服务器端口
2.
3.
4.
访问网站
http://(服务器IP):8886
三、使项目在后台一直运行
Screen 的安装(在Xshell远程连接上执行)
screen:在服务器上单独开一个进程,来执行开启后台的任务。
CentOS 系列系统: yum install screen
Ubuntu 系列系统: sudo apt-get install screen
创建Screen
1.screen -S processname(进程名)
1.1然后运行项目(运行步骤如上所示)
2.ctrlL-a+d ,退出操作 然后就可以后台运行了
3.用screen -r就可恢复到原来的工作状态了
4.screen -ls 查看
5.screen -r -d 1805(pid)进入进程
screen -S 进程名 -X quit 关掉进程