答案:在Linux部署.NET应用需安装.NET SDK或Runtime,发布应用后通过systemd管理进程并可选Nginx反向代理。首先在Ubuntu添加微软源并安装.NET 8.0 SDK;使用dotnet publish命令发布项目至linux-x64目录,复制到服务器指定路径;进入目录运行dotnet MyApp.dll,默认监听5000端口,可通过ASPNETCORE_URLS环境变量修改绑定地址;推荐创建systemd服务单元文件实现开机启动与自动重启;最后可配置Nginx反向代理转发请求至应用,确保外部访问稳定可靠。

在Linux环境下部署和运行.NET应用,主要依赖于.NET SDK或.NET Runtime的安装,并结合发布、配置和进程管理等步骤。以下是具体操作流程,适用于主流Linux发行版(如Ubuntu、CentOS等)。
安装.NET SDK或Runtime
若需开发或编译项目,安装.NET SDK;若仅运行已发布的应用,安装.NET Runtime即可。
以Ubuntu为例,添加微软包源:
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
安装.NET 8.0 SDK(或其他版本):
sudo apt update
sudo apt install -y apt-transport-https
sudo apt update
sudo apt install -y dotnet-sdk-8.0
CentOS/RHEL用户可参考微软官方文档使用dnf或yum安装。
发布.NET应用
在开发机或CI环境中将项目发布为自包含或框架依赖的应用。
进入项目目录,执行发布命令:
dotnet publish -c Release -r linux-x64 –self-contained false
上述命令生成框架依赖的发布包。若希望不依赖目标环境安装Runtime,设--self-contained true。
发布后的文件位于bin/Release/net8.0/linux-x64/publish,将其复制到Linux服务器对应目录,例如/var/www/myapp。
运行.NET应用
进入发布目录,直接运行程序。
cd /var/www/myapp
dotnet MyApp.dll
应用默认监听http://localhost:5000。可通过环境变量修改:
export ASPNETCORE_URLS=”http://0.0.0.0:80″
这样可在外部通过IP访问服务。
使用守护进程管理应用
推荐使用systemd确保应用后台运行并在异常退出时自动重启。
创建服务配置文件:
sudo nano /etc/systemd/system/myapp.service
写入以下内容:
[Unit]Description=My .NET Web ApplicationAfter=network.target[Service]WorkingDirectory=/var/www/myappExecStart=/usr/bin/dotnet MyApp.dllRestart=alwaysRestartSec=10Environment=ASPNETCORE_ENVIRONMENT=Production[Install]WantedBy=multi-user.target
启用并启动服务:
sudo systemctl daemon-reexec
sudo systemctl enable myapp
sudo systemctl start myapp
查看运行状态:sudo systemctl status myapp
反向代理配置(可选)
若使用Nginx作为前端代理,安装并配置:
sudo apt install nginx
编辑站点配置/etc/nginx/sites-available/default,添加:
location / { proxy_pass http://127.0.0.1:5000; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme;}
保存后测试配置:sudo nginx -t,无误后重载:sudo systemctl reload nginx。
基本上就这些。只要环境装好,发布清晰,配合systemd和Nginx,.NET应用在Linux上运行稳定可靠。
以上就是.NET怎么在Linux环境下部署和运行_Linux环境部署运行指南的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1441489.html
微信扫一扫
支付宝扫一扫