.net程序部署Linux运行

一、前言

二、项目生成

1、提前在vs内,把配置文件中所使用的IP更改为虚拟机的所使用的IP方便部署;

2、打开项目启动文件 文件夹,打开终端

3、输入命令,后回车;

复制代码
dotnet publish -o auth

I、auth文件就是你需要部署在Linux上的文件;

II、最好剪切放到别的地方,否则会影响vs项目生成;

三、部署Liunx

前言:有很多种方式来启动,这里我就说一下用dotnet启动的方式;

1、以Ubuntu_22.04.05为例,其他也都一样。

2、把上方auth直接复制到Ubuntu虚拟机上(若您是终端虚拟机,把auth压缩,然后再终端下载解压工具,解压到指定位置);

3、若auth的配置文件,你生成前已经改好配置就不需要再改动了,否则手动改动配置文件,如:IP、Port;终端虚拟机,则需要通过iv编辑器更改;或者重新生成,复制过来;

4、右击打开Linux终端,下载dotnet服务,可以根据自己的版本,来更改下方版本;

如你是20.04就把22.04改了就行;

复制代码
wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb

sudo dpkg -i packages-microsoft-prod.deb 

sudo apt update

5、安装.net core运行时库,可以根据自己的版本,来更改下方版本;

如你是.net10.0就把8.0改了就行;

复制代码
sudo apt install aspnetcore-runtime-8.0

6、运行.net程序,注意这在auth文件下右击打开终端,否则会找不到文件;

复制代码
dotnet 启动文件名称.dll

要么使用绝对路径

复制代码
dotnet /home/用户名/publish8.0/auth/启动文件名称.dll

博主的是:dotnet GameService.dll

7、系统进程自启动服务,博主还没搞哈哈,就是Linux一启动会自动运行,不关虚拟机不就行了吧~

四、部署失败

启动失败问题

1、如你按照我上述步骤,仍失败,可以考虑是否项目为.net8.0及以上,是否支持Linux;

2、启动期间是否有代码报错,有的话改;

3、根据终端报错提示,是否缺少工具导致,缺少的话根据终端提示下载工具;

项目升级后生成成功,启动失败

1、博主的websocket、mqtt服务,生成期间,没有报错,启动也没有报错,但一部署就报错,显示什么端口被占用等没用的错误提示,但根本就不是因为端口被占用,而是因为Linux不支持不兼容的库;

2、这就是因为你升级后,虽然window的vs兼容了它,但Linux不兼容;

3、需要做的是,直接发送AI,如.net8.0部署Mqtt,把我们的服务使用的包替换为新的,一般只会该一些头部实例,并不会很麻烦;

4、主要你所使用的包是否支持Linux,如websocket的Fleck库,是不支持Linux的,是必须替换掉的,可以换成WebSocketSharp库等;

5、你可以把报错的服务或者代码发送AI,询问是否支持部署Linux;

6、这里主要提供思路,遇到错误至少知道往哪方面去找;

后缀:

像启动方式还有mono 运行文件、./运行文件;

这两个我就不再赘述了,我用的不怎么好,上方这个学会就够用了;

祝大家,再老的项目部署也包成功的好吧!!!

相关推荐
optimistic_chen4 分钟前
【Docker入门】容器技术
linux·运维·服务器·docker·容器
Lueeee.5 分钟前
2.智梯云枢・全维管控广告系统——解决串口卡顿 + 优化稳定性
linux·运维·服务器
南行*6 分钟前
C语言Linux环境编程
linux·c语言·开发语言·网络安全
海清河晏1116 分钟前
Linux进阶篇:HTTP协议
linux·运维·http
June`9 分钟前
IO模型全解析:从阻塞到异步(高并发的reactor模型)
linux·服务器·网络·c++
ASS-ASH15 分钟前
快速处理虚拟机磁盘扩容问题
linux·数据库·vmware·虚拟机·磁盘扩容
AI_567815 分钟前
零基础学Linux:21天从“命令小白”到独立部署服务器
linux·服务器·人工智能·github
江湖有缘16 分钟前
Fenrus + Docker 实战:构建简洁高效的浏览器新标签页
运维·docker·容器
乾元17 分钟前
如何把 CCIE / HCIE 的实验案例改造成 AI 驱动的工程项目——从“实验室能力”到“可交付系统”的完整迁移路径
大数据·运维·网络·人工智能·深度学习·安全·机器学习
不染尘.17 分钟前
Linux基本概述
linux·windows·centos·ssh