.net6部署到linux上(CentOS Linux 7)
小威编程 2024-08-12 09:07:04 阅读 53
目录
一、先在linux上配置.net环境
添加 Microsoft 包存储库
安装 SDK
安装运行时
检查 SDK 版本可使用终端查看当前安装的 .NET SDK 版本。 打开终端并运行以下命令。
二、创建.net6 mvc项目 并发布
创建项目
修改默认端口
打包发布到文件夹
运行打包项目查看项目是否ok
将项目放到linux上
测试项目在linux上是否有问题
如何开放端口
三、在linux上运行项目并守护进程
第一种方法(守护进程管理器)
第二种方法(使用nohup &命令)
一、先在linux上配置.net环境
首先,先配置.net6环境
添加 Microsoft 包存储库
安装 .NET 之前,请运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加 Microsoft 包存储库。 打开终端并运行以下命令:
<code>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项目 并发布
创建项目
修改默认端口
<code>builder.WebHost.UseUrls("http://*:5000");//单个设置
打包发布到文件夹
在本地运行打包项目查看项目是否ok
到打包的项目
<code>dotnet 项目名.dll
运行成功!
在浏览器查看ok
将项目放到linux上
打开宝塔,将打包的.net项目文件全选择拖到服务器文件夹上面
测试项目在linux上是否有问题
点击终端输入 : dotnet WebApplication2.dll 运行
运行:
<code>dotnet 项目名.dll
显示这样就说明我们的项目在linux上也没问题,记得把端口开发才行
如何开放端口
这里提前开发5001端口给项目端口使用
1.开启防火墙
<code> systemctl start firewalld
2.开放指定端口
命令含义:
--zone #作用域
--add-port=5001/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
firewall-cmd --zone=public --add-port=5001/tcp --permanent
3、重启防火墙
firewall-cmd --reload
4、查看端口号
netstat -ntlp //查看当前所有tcp端口·
netstat -ntulp |grep 5001//查看所有5001端口使用情况·
三、在linux上运行项目并守护进程
第一种方法(守护进程管理器)
这种方法很简单,比较适合新手,
下载守护进程管理器,点击设置
点击添加守护进程
填写信息
点击确定后可以看到我们添加成功了
去浏览器输入ip加域名,测试是否成功!
可以看到第一种方法成功了
注:有一些不同平台的服务器要去打开安全组,例如腾讯云,本案例是京东云
第二种方法(使用nohup &命令)
到项目目录下执行运行下面的命令就可以了
--urls="http://*:5001"*指定到开发端口(不指定也行,不指定就是默认的)
nohup 英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行
<code>nohup dotnet socialnetworkApp.dll --urls="http://*:5001"& code>
总结: 好了目前小编就知道这两种简单的方式,小编也是小菜鸡哈哈哈,欢迎大家交流
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。