Blazor 应用的独立部署是指发布后的应用能够在没有安装 .NET 运行时的环境中运行(包含所有依赖的 .NET 运行时和库)。省去了安装.net core,这适用于 Blazor Server 和 Blazor WebAssembly。这样使安装更加简洁
以下是如何将 Blazor 应用以独立部署的方式发布到 Linux 的完整步骤:
1. 配置独立部署
在项目中启用独立部署模式。
Visual Studio 发布
在需要发布的项目上右击弹出菜单选择发布,将应用打包为独立部署,按下面界面设置:
命令行发布
运行以下命令,将应用打包为独立部署:
otnet publish -c Release -r linux-x64 --self-contained true -o ./publish
参数说明:
-c Release
:以 Release 模式发布。-r linux-x64
:指定目标平台为 Linux x64。如果是其他架构,使用对应的运行时标识符(RID),如linux-arm64
。--self-contained true
:指定独立部署,包含 .NET 运行时。-o ./publish
:指定输出目录。
发布完成后,./publish
目录中将包含:
- 可执行文件(例如:
YourApp
) - 所有依赖的动态链接库
2. 上传应用到 Linux 服务器
将发布目录上传到服务器。例如:
使用 SCP
cp -r ./publish user@yourserver:/var/www/blazorapp
设置权限
hmod -R 755 /var/www/blazorapp
3. 运行独立部署应用
直接运行
通过 SSH 登录服务器后,进入发布目录运行应用:
cd /var/www/blazorapp
./YourApp
默认情况下,Kestrel 监听端口 5000
和 5001
。可以通过以下地址访问应用:
http://yourserverip:5000
https://yourserverip:5001
4. 配置为 Systemd 服务
为了确保应用在服务器重启后自动启动,建议配置为 Systemd 服务。
创建服务文件
-
编辑服务文件
/etc/systemd/system/blazorapp.service
:udo nano /etc/systemd/system/blazorapp.service
-
添加以下内容:
[Unit] Description=Blazor App After=network.target [Service] WorkingDirectory=/var/www/blazorapp ExecStart=/var/www/blazorapp/YourApp Restart=always RestartSec=10 SyslogIdentifier=blazorapp User=www-data Environment=ASPNETCORE_ENVIRONMENT=Production [Install] WantedBy=multi-user.target
-
保存并退出。
启用并启动服务
运行以下命令:
do systemctl daemon-reload
sudo systemctl start blazorapp
sudo systemctl enable blazorapp
5. 使用反向代理(可选)
为了优化生产环境,可以配置反向代理(如 Nginx 或 Apache)。
Nginx 配置示例
编辑 Nginx 配置文件(例如 /etc/nginx/sites-available/default
):
server
{
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://localhost:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
重启 Nginx:
udo systemctl restart nginx
6. 验证运行
通过服务器的 IP 地址或域名访问应用。例如:
http://yourdomain.com
http://yourserverip
注意事项
-
目标平台选择:
- 根据服务器的架构选择正确的运行时标识符(RID),如
linux-x64
或linux-arm64
。 - 可以使用
dotnet --info
查看支持的 RID。
- 根据服务器的架构选择正确的运行时标识符(RID),如
-
文件权限: 确保上传后的文件具有适当的执行权限。
-
端口安全: 如果直接使用 Kestrel,确保防火墙规则允许所需端口(默认
5000
和5001
)。 -
资源优化:
- 独立部署的文件较大,适合长期运行的服务。如果应用频繁更新,可以考虑框架相关部署(Framework-dependent Deployment)。
通过上述步骤,你可以将 Blazor 应用独立部署到 Linux,并在没有额外依赖的环境中运行。
《信管通低代码信息管理系统应用平台》就是使用blazor开发的应用系统,可以在linux环境下安装,你可以在你的计算机上安装它,来熟悉blazor安装到Linux环境的操作步骤,下面是百度网盘地址。
信管通零代码软件开发平台_arm64_版本V13.zip
链接: https://pan.baidu.com/s/1swIXVrx08Ps7MUxQid1Q_Q?pwd=im7v 提取码: im7v
信管通零代码软件开发平台_x64_版本V13.zip
链接: https://pan.baidu.com/s/1LbaejG-3wlPsMFhqTMZgbg?pwd=851p 提取码: 851p