答案:在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;若仅运行已发布的应用,安装.NET Runtime即可。
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
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安装。
在开发机或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。
进入发布目录,直接运行程序。
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 Application After=network.target [Service] WorkingDirectory=/var/www/myapp ExecStart=/usr/bin/dotnet MyApp.dll Restart=always RestartSec=10 Environment=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环境部署运行指南的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号