Linux服务器从零开始-部署.net控制台程序(AlmaLinux)

CentsOS 8停止维护,导致无法下载资源包,所以重装了AlmaLinux,系统安装步骤以及mysql安装大同小异。

一:系统更新

1.系统更新

bash 复制代码
sudo dnf update -y

2.使用官方脚本添加仓库

bash 复制代码
curl -SL https://packages.microsoft.com/config/centos/8/packages-microsoft-prod.rpm -o packages-microsoft-prod.rpm
sudo dnf install -y ./packages-microsoft-prod.rpm
rm packages-microsoft-prod.rpm

3.安装 .NET Runtime

bash 复制代码
sudo dnf install -y dotnet-runtime-8.0

4.验证安装:# 应看到 Microsoft.NETCore.App 8.0.x

bash 复制代码
dotnet --list-runtimes
二:打包项目
三:项目上传,配置服务

1.上传文件至 var/xxx/api ,文件存放位置最好放到var文件夹下。

2.创建服务问题。进入到etc/systemd/system/ ,创建文件myapi.service,复制下面内容保存

  1. WorkingDirectory是你的项目目录;ExecStart是要执行的dll,根据情况改。User:我使用的root,最好改成其他的。
bash 复制代码
[Unit]
Description=GeZhi API
After=network.target

[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/var/GeZhi/api
ExecStart=/usr/bin/dotnet SuperNetAPI.dll
Restart=always
RestartSec=10
Environment=ASPNETCORE_ENVIRONMENT=Production

[Install]
WantedBy=multi-user.target

4.启动服务

bash 复制代码
# 加载服务
sudo systemctl daemon-reexec

# 启动服务
sudo systemctl start gezhi-api

# 设置开机自启
sudo systemctl enable gezhi-api

# 查看状态
sudo systemctl status gezhi-api

# 查看日志
journalctl -u gezhi-api -f
相关推荐
AlfredZhao18 小时前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐2 天前
Linux内存扩容指南
linux
zylyehuo2 天前
Linux 彻底且安全地删除文件
linux
用户805533698033 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297913 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
Web3探索者5 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo5 天前
Linux系统中网线与USB网络共享冲突
linux
唐青枫5 天前
线程不是越多越快:C#.NET Thread 生命周期、同步与后台工作线程实战
c#·.net
唐青枫6 天前
别只会反射:C#.NET Emit 动态生成代码实战详解
c#·.net
Caco_D6 天前
一行代码抓遍全网 20 个热榜!Aneiang.Pa 4.0 发布 — 极简 .NET 爬虫库
爬虫·.net