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
相关推荐
爱装代码的小瓶子19 分钟前
Linux下的权限与文件
linux·运维·服务器
ggaofeng1 小时前
linux中mount的本质是什么?自己如何实现一个伪文件系统
linux·mount·自己实现伪文件系统
敲上瘾1 小时前
Linux系统C++开发环境搭建工具(二)—— etcd 使用指南
linux·c++·etcd
励志不掉头发的内向程序员1 小时前
【Linux系列】解码 Linux 内存地图:从虚拟到物理的寻宝之旅
linux·运维·服务器·开发语言·学习
woshihonghonga2 小时前
停止Conda开机自动运行方法
linux·人工智能·conda
遇见火星5 小时前
Ubuntu Docker 容器化部署教程
linux·ubuntu·docker
ybb_ymm7 小时前
mysql8在linux下的默认规则修改
linux·运维·数据库·mysql
半梦半醒*7 小时前
zabbix安装
linux·运维·前端·网络·zabbix
板鸭〈小号〉8 小时前
Socket网络编程(2)-command_server
运维·服务器
weixin_456904278 小时前
基于.NET Framework 4.0的串口通信
开发语言·c#·.net