.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"&  

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

相关推荐
yt004yt5 小时前
越华环保集团|绿岛 VOCs 集中治理,管网系统安全设计工程实战分享
大数据·运维
晚安日记wanna6 小时前
压测 TPS 卡在 800CPU 只跑四成六步定位法
运维·面试·测试
yunwei376 小时前
eBPF 示例教程:实现 `scx_nest` 调度器
linux·后端·性能优化
朽棘不雕6 小时前
关于重定向的小补充
linux
T1mzhou6 小时前
ARM64 平台安全学习记录
linux·服务器·arm开发·arm
GG-_-Bond7 小时前
基于dpdk实现udp接收数据
linux·网络·udp
吴声子夜歌7 小时前
Shell编程实例——bash入门
linux·运维·shell
爱和冰阔落7 小时前
【Linux】条件变量为什么必须配合互斥锁:从 pthread_cond_wait 到阻塞队列
linux·运维·c++·缓存·中间件·安卓
tedcloud1237 小时前
God‘s Eye View 怎么搭建?在云服务器上部署一个实时 3D 地球可视化平台
linux·服务器·开发语言·后端·rust
星间都市山脉7 小时前
Android16 SystemService.onBootPhase 调用时机
android·java·linux·windows·ubuntu