简介
在将 .NET Core 应用程序部署到 Linux 服务器上时,可以采用独立发布的方式,以便在目标服务器上运行应用程序而无需安装 .NET Core 运行时。本文介绍如果将NetCore Web程序独立发布部署到Linux服务器。
1、准备一台服务器
服务器配置:2核2G
系统环境:Alibaba Cloud Linux 3 或者其他版本的Linux操作系统都行
2、安装服务器管理软件
安装宝塔命令
yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec
安装成功后会出现宝塔的访问地址如下:
外网面板地址: http://*.*.*.*:20003/090000a
内网面板地址: http://*.*.*.*:20003/090000a
username: z***y
password: 8****6
注意:云服务器需要开放端口20003
3、安装Web服务
打开宝塔面板软件商店安装Nginx
如果程序需要数据库可继续安装数据库等。
4、发布程序
使用开发工具VS2022发布程序,配置如下:
5、上传程序文件
本程序的启动文件是DataMall.Web
6、安装系统自启动项
vi /etc/systemd/system/datamallweb.service
注意:启动文件需要设置可执行的权限。
启动项内容如下:
[Unit]
Description="datamallweb Service"
[Service]
Type=simple
GuessMainPID=true
WorkingDirectory=/www/wwwroot/web
StandardOutput=journal
StandardError=journal
ExecStart=/www/wwwroot/web/DataMall.Web
Restart=always
[Install]
WantedBy=multi-user.target
服务自启动生效
systemctl enable datamallweb.service
启动服务
systemctl start datamallweb.service
停止服务
systemctl stop datamallweb.service
重启服务(更新配置相关的程序后需要重启)
systemctl restart datamallweb.service
查看服务状态
systemctl status datamallweb.service
执行后可查看服务的状态是:active(running),说明服务是正常运行的。
NetCore启动端口是5000。
通过服务启动项的配置,该服务会报错运行的状态,如果服务器重启了也会自动启动。
7、添加Web站点
8、配置反向代理
添加目标URL:http://localhost:5000,发送域名:www.test.cn(配置自己的域名)
最后通过浏览器访问域名www.test.cn就可以看到网页了。
总结
将 .NET Core 应用程序进行独立发布并部署到 Linux 服务器上是一种简单、可靠、高效的部署方式。独立发布的应用程序包含了应用程序本身和 .NET Core 运行时的必要组件,因此在部署时无需在目标服务器上安装 .NET Core 运行时,这简化了部署过程,并提高了应用程序的可移植性和稳定性。