赞
踩
目录
前言
我们需要将.NET8编写的console控制台程序,部署在Ubuntu服务器上运行。
1.增加微软包安装源
- wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
- sudo dpkg -i packages-microsoft-prod.deb
- rm packages-microsoft-prod.deb
2.安装.NET8运行时
sudo apt-get update && sudo apt-get install -y aspnetcore-runtime-8.0
安装SDK(如果需要编译)
sudo apt-get update && sudo apt-get install -y dotnet-sdk-8.0
3.验证是否安装成功
dotnet --info
- root@ubuntu01:/# dotnet --info
-
- Host:
- Version: 8.0.5
- Architecture: x64
- Commit: 087e15321b
- RID: linux-x64
-
- .NET SDKs installed:
- No SDKs were found.
-
- .NET runtimes installed:
- Microsoft.AspNetCore.App 8.0.5 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
- Microsoft.NETCore.App 8.0.5 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
-
- Other architectures found:
- None
-
- Environment variables:
- Not set
-
- global.json file:
- Not found
-
- Learn more:
- https://aka.ms/dotnet/info
-
- Download .NET:
- https://aka.ms/dotnet/download
- root@ubuntu01:/#
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
1.将发布后文件夹上传到linux服务器
2.添加执行权限
chmod +x -R /file/helloworld/
3.运行DotNet程序
dotnet helloworld.dll
- # 增加微软包安装源
-
- wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
- sudo dpkg -i packages-microsoft-prod.deb
- rm packages-microsoft-prod.deb
-
-
- # 安装SDK(如果需要编译)
-
- sudo apt-get update && sudo apt-get install -y dotnet-sdk-8.0
-
-
- # 安装运行时
-
- sudo apt-get update && sudo apt-get install -y aspnetcore-runtime-8.0
-
- # 验证是否安装成功
-
- dotnet --info
-
- # 上传发布文件到linux服务器
-
-
- # 添加执行权限
-
- chmod +x -R /file/helloworld/
-
- # 运行DotNet程序
-
- dotnet helloworld.dll
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
在Linux系统中,使用systemd管理.NET程序,实现程序自动开机启动,查看状态等操作。
1.创建service文件
vim /usr/lib/systemd/system/helloword.service
# 添加下面的内容
- [Unit]
- Description=helloworld .NET Web Application
-
- [Service]
- WorkingDirectory=/file/helloworld/
- ExecStart=/usr/bin/dotnet /file/helloword/helloworld.dll
- Restart=always
- # Restart service after 2 seconds if the dotnet service crashes:
- RestartSec=2
- KillSignal=SIGINT
- SyslogIdentifier=helloworld
- User=root
- Environment=ASPNETCORE_ENVIRONMENT=Production
-
- [Install]
- WantedBy=multi-user.target
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
2.添加执行权限
chmod +x /usr/lib/systemd/system/helloworld.service
3.重新加载和启用开机自启
systemctl daemon-reload && systemctl enable helloworld.service
4.查看状态
systemctl status helloworld.service
- root@ubuntu01:/# systemctl status helloworld.service
- ● helloworld.service - helloworld .NET Web Application
- Loaded: loaded (/lib/systemd/system/helloworld.service; enabled; vendor preset: enabled)
- Active: active (running) since Wed 2024-05-29 17:39:48 CST; 1min 54s ago
- Main PID: 27708 (dotnet)
- Tasks: 15 (limit: 4558)
- Memory: 47.4M
- CPU: 1.921s
- CGroup: /system.slice/helloworld.service
- └─27708 /usr/bin/dotnet /file/helloworld/helloworld.dll
-
- May 29 17:39:48 ubuntu01 systemd[1]: Started helloworld.NET Web Application.
- May 29 17:39:48 ubuntu01 helloworld[27708]: * Start load configure...... Configure Load Sucessfull
- May 29 17:39:48 ubuntu01 helloworld[27708]: * Mysql connection Openning....
- May 29 17:39:48 ubuntu01 helloworld[27708]: Process with an Id of 26029 is not running.
5.查看进程
ps -ef | grep helloworld
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。