中山cms建站模板,搜索引擎推广费用,wordpress加入mip,如何做网络营销推广赚钱这是本专栏最后一篇文章了#xff0c;在这片文章里我们不重点讲解如何配置服务器#xff0c;重点讲如何发布服务#xff0c;我们开始吧。
一、服务器配置
服务器配置包含#xff1a;服务器的选择和项目运行环境的配置#xff0c;下面我们分别来讲解一下。 在服务器选择上…这是本专栏最后一篇文章了在这片文章里我们不重点讲解如何配置服务器重点讲如何发布服务我们开始吧。
一、服务器配置
服务器配置包含服务器的选择和项目运行环境的配置下面我们分别来讲解一下。 在服务器选择上最低的要求是2G2U推荐的配置当然是越高越好但是对于咱这个实战项目来说推荐配置4U8G即可。当然你也可以选择在本地安装虚拟机在虚拟机里发布我们的项目。推荐的操作系统是Ubuntu 24.04 LTS因为24.04版本是带有.NET 8 的我们只需执行命令把它安装上就可以了。 项目的运行环境我们需要安装aspnetcore-runtime-8.0这个按照微软官网上的操作即可。我们还需要安装MySql 8 和 RabbitMQ这两个软件同样参照各自官网上的文档安装即可。
二、发布
在解决方案管理器中右键SporeAccounting选择发布 在打开的发布窗口点击显示所有设置后弹出发布配置框配置选择Release目标框架选择net8.0部署模式选择框架依赖目标运行时选择可移植。最后点击保存再点击发布既可将我们的项目发布出来了。
部署模式和目标运行时这两个选项有必要讲一下。在部署模式下拉中有两个选项框架以来、独立这两个的有什么区别呢以框架依赖部署模式发布的应用程序依赖于目标机器上已安装的 .NET 运行时应用程序本身不包含 .NET 运行时只有应用程序代码和必要的库。因为不包含 .NET 运行时发布包的大小较小并且 多个应用程序可以共享同一个 .NET 运行时节省磁盘空间。但是目标机器上必须安装与应用程序兼容的 .NET 运行时版本如果运行时版本不匹配应用程序无法运行。以独立部署模式发布的应用程序包含 .NET 运行时和所有依赖项因此不依赖于目标机器上已安装的任何 .NET 运行时。应用程序可以在没有预先安装 .NET 运行时的机器上运行因为运行时已经包含在发布包中同时应用程序使用发布时的 .NET 运行时版本不受目标机器上其他 .NET 运行时版本的影响。但是因为包含 .NET 运行时发布包的大小较大每个独立部署的应用程序都有自己的 .NET 运行时可能会占用更多的磁盘空间。 目标运行时用于指定你希望应用程序在其上运行的操作系统和硬件平台。不同的目标运行时适用于不同的操作系统和硬件配置。 发布完成后点击导航会自动打开发布目录复制全部文件和文件夹上传到我们的服务器上。上传服务器后并不是说就完事了我们还需要设置一个监控服务如果我们的账本服务因为某系原因挂了这个监控服务就可以把它拉起来。我们来看一下如何做。 在Ubuntu系统上我们一般使用systemd服务来实现.NET 8 项目的自启动。首先在/etc/systemd/system/目录下创建一个新的服务文件使用systemctl命令来生成一个基本的模板或者直接手动创建一个都可以。命令如下
sudo nano /etc/systemd/system/mywebapi.service然后在打开的编辑器中输入以下内容根据应用程序进行相应的调整
[Unit]
DescriptionMy .NET 6 Web API
Afternetwork.target
Wantsnetwork-online.target[Service]
Typesimple
Userwww-data
WorkingDirectory/path/to/your/webapi
ExecStartdotnet /path/to/your/webapi.dll
Restartalways
RestartSec10
EnvironmentASPNETCORE_ENVIRONMENTProduction
EnvironmentDOTNET_PRINT_TELEMETRY_MESSAGEfalse[Install]
WantedBymulti-user.target 在上面的代码中我们进行了一些必要的配置具体字段的说明如下
Description: 服务的描述。After: 指定服务在哪个目标之后启动。Wants: 指定服务依赖的另一个目标。Type: 指定服务的类型simple是最常见的类型。User: 指定服务运行的用户。WorkingDirectory: 指定服务的工作目录。ExecStart: 启动服务时执行的命令。Restart: 指定服务失败时是否自动重启。RestartSec: 指定重启服务前的等待时间。Environment: 设置环境变量。WantedBy: 指定服务应该被哪个目标所需要。
配置完成后我们保存并关闭服务文件后并设置服务权限
sudo chmod 644 /etc/systemd/system/mywebapi.service接着我们重新加载systemd以识别新的服务
sudo systemctl daemon-reload最后使用以下命令来启动服务并设置为开机自启
sudo systemctl start mywebapi.service
sudo systemctl enable mywebapi.service三、总结
本文是本专栏的最后一篇文章聚焦于服务发布的关键步骤而非详细的服务器配置。本篇内容从服务器配置到项目发布再到服务自启动配置帮助大家完整掌握发布流程。在服务器配置方面推荐选择4U8G配置或本地虚拟机运行环境则需要安装 aspnetcore-runtime-8.0、MySQL 8 和 RabbitMQ。在项目发布部分我们通过解决方案管理器设置发布参数如部署模式和目标运行时并重点分析了框架依赖与独立部署两种模式的区别及适用场景。最后文章讲解了如何在 Ubuntu 系统上使用 systemd 服务实现项目自启动通过配置服务文件实现项目的稳定运行和自动恢复。 至此本专栏以实战为核心从开发到部署完成了一次完整的项目生命周期分享希望能对大家的实际工作有所助益