.net6部署到linux上(CentOS Linux 7)

目录

一、先在linux上配置.net环境

[添加 Microsoft 包存储库](#添加 Microsoft 包存储库)

[安装 SDK](#安装 SDK)

安装运行时

[检查 SDK 版本可使用终端查看当前安装的 .NET SDK 版本。 打开终端并运行以下命令。](#检查 SDK 版本可使用终端查看当前安装的 .NET SDK 版本。 打开终端并运行以下命令。)

[二、创建.net6 mvc项目 并发布](#二、创建.net6 mvc项目 并发布)

创建项目

修改默认端口

打包发布到文件夹

运行打包项目查看项目是否ok

将项目放到linux上

测试项目在linux上是否有问题

如何开放端口

三、在linux上运行项目并守护进程

第一种方法(守护进程管理器)

[第二种方法(使用nohup &命令)](#第二种方法(使用nohup &命令))


一、先在linux上配置.net环境

首先,先配置.net6环境

添加 Microsoft 包存储库

安装 .NET 之前,请运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加 Microsoft 包存储库。 打开终端并运行以下命令:

复制代码
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm

安装 SDK

.NET SDK 使你可以通过 .NET 开发应用。 如果安装 .NET SDK,则无需安装相应的运行时。 若要安装 .NET SDK,请运行以下命令:

复制代码
sudo yum install dotnet-sdk-6.0

安装运行时

通过 ASP.NET Core 运行时,可以运行使用 .NET 开发且未提供运行时的应用。 以下命令将安装 ASP.NET Core 运行时,这是与 .NET 最兼容的运行时。 在终端中,运行以下命令:

复制代码
sudo yum install aspnetcore-runtime-6.0

检查 SDK 版本

可使用终端查看当前安装的 .NET SDK 版本。 打开终端并运行以下命令。

复制代码
复制
dotnet --list-sdks

看到sdk版本号就说明安装好了

二、创建.net6 mvc项目 并发布

创建项目

修改默认端口

复制代码
builder.WebHost.UseUrls("http://*:5000");//单个设置

打包发布到文件夹

运行打包项目查看项目是否ok

到打包的项目

复制代码
dotnet 项目名

运行成功!

在浏览器查看ok

将项目放到linux上

打开宝塔,将打包的.net项目文件全选择拖到服务器文件夹上面

测试项目在linux上是否有问题

点击终端输入 : dotnet WebApplication2.dll 运行

显示这样就说明我们的项目在linux上也没问题,记得把端口开发才行

如何开放端口

1.开启防火墙

复制代码
 systemctl start firewalld
复制代码
2.开放指定端口
命令含义:
--zone #作用域
--add-port=1935/tcp  #添加端口,格式为:端口/通讯协议
--permanent  #永久生效,没有此参数重启后失效
复制代码
     firewall-cmd --zone=public --add-port=1935/tcp --permanent
复制代码
3、重启防火墙
复制代码
firewall-cmd --reload
复制代码
4、查看端口号
复制代码
netstat -ntlp   //查看当前所有tcp端口·

netstat -ntulp |grep 1935   //查看所有1935端口使用情况·

三、在linux上运行项目并守护进程

第一种方法(守护进程管理器)

这种方法很简单,比较适合新手,

下载守护进程管理器,点击设置

点击添加守护进程

填写信息

点击确定后可以看到我们添加成功了

去浏览器输入ip加域名,测试是否成功!

可以看到第一种方法成功了

第二种方法(使用nohup &命令)

到项目目录下执行运行下面的命令就可以了

--urls="http://*:5001"*指定到开发端口(不指定也行,不指定就是默认的)

nohup 英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行

复制代码
nohup dotnet socialnetworkApp.dll --urls="http://*:5001"&  

总结: 好了目前小编就知道这两种简单的方式,小编也是小菜鸡哈哈哈,欢迎大家交流

相关推荐
磊 子1 小时前
详细讲解一下epoll
linux·io·epoll·io多路复用
printfLILEI2 小时前
php中的类与对象以及反序列化
linux·开发语言·php
zyl837212 小时前
Docker 使用手册
运维·docker·容器
古月方枘Fry2 小时前
MGRE实验
运维·服务器
叠叠乐3 小时前
redmi k90 pro max 强解BL,刷海外rom, 并刷入sukisu ultra
linux
stolentime3 小时前
FreeDomain 本地开发环境快速搭建指南
运维·服务器·网络
xiaoye-duck4 小时前
《Linux系统编程》Linux 进程间通信之管道基础解析:从匿名管道原理到基于管道的进程池实现
linux
z200509304 小时前
【Linux学习】Linux中的进程程序替换
linux·服务器·学习
bush44 小时前
嵌入式linux学习记录四
linux·运维·学习