一、系统安装
如果是在虚拟机安装,那把镜像下载好按常规的安装流程安装就好,非常简单,不再赘述。
这里说一下通过U盘直接在裸机上安装的一种方式
1.1 下载镜像
这里我使用的是统信UOS的服务器免授权版本,传送门👉:https://www.uniontech.com/next/product/UOS-Free-Use
也可以根据需要使用桌面版或其他服务器版。这里需要提一点就是,统信UOS的服务器版不像传统的CentOS或者阿里的Anolis OS(龙蜥),他们都提供了最小安装版本,也就是不含GUI界面的系统,但UOS没有,所以镜像文件都很大,我下载的这个V20版本7.7G,家庭版也有3G多,注意使用U盘安装的话,U盘的空间要预留充足。
1.2 制作安装U盘
这个就根据自己的使用习惯选择一个制作软件就好,比较知名的有Etcher,Unebootin,Rufus,Ventory等,注意这个U盘的制作和我们平时制作Windows系统的启动盘有点区别,软件也不太一样,像什么老毛桃,大白菜之类的,一般是不支持制作Linux内核的操作系统的。
我这里使用的是Ventory,操作非常简单
插上U盘,点安装,然后把镜像考到U盘里,就ok了~
相关资源👉:https://www.suoqiang.net/archives/1244
1.3 装系统
这就是我们熟悉的流程了,因为我这里已经安装好了,安装的时候没有截图,就大概罗列一下注意事项
- 插上U盘
- 开机进入Bios,一般是连续敲击F10,F11,F2,Del等按键,老主板可能是那种蓝屏的dos界面,新一点的一般都有一个友好的操作界面
- 调整系统启动顺序,把U盘启动调整到第一位
- 保存重启,之后的流程就和在虚拟机里安装基本一样了,一步步按提示安装即可。
这里我在安装的时候没有保留相关的照片,但整体的安装过程还是相对简单的,只要前两部没问题,到第三步就和我们平时装系统的步骤基本是一样的。
二、搭环境
这里我的系统是基于最新的DotNet(Core)7.0编写的web服务,那部署到裸机的话需要用到.net sdk和Docker,其中docker是用来跑达梦的数据库的,也可以不用本机的容器,使用内网其他主机的服务也是ok的,我这里就是演示一下。
2.1 装SDK
微软的官网为各大主流Linux发行版提供了自动化的安装脚本和对应的自动安装包(https://learn.microsoft.com/zh-cn/dotnet/core/install/linux)
使用安装脚本的话,就直接找到对应的发行版,一键安装即可。
如果是手动安装,就要自己下载二进制文件,然后解压并配置环境变量,具体的大家可以参考文档。
我这里用的是UOS,安装流程和CentOS很像,我使用的是DNF的形式
dnf install dotnet-sdk-7.0
安装好后,命令行可以检查我们安装的sdk版本
我这里安装了6.0和7.0两个大版本
注意,不建议在使用6.0之前的版本,已经停服了,而8.0的版本由于目前还没有GA,只是发布了RC预览版,也不建议用在生产环境。
2.2 Docker安装
dnf也可以直接安装docker,uos的基础环境集成的很完善,不需要再自己费劲安装很多依赖,直接按照CentOS的安装流程安装即可,具体的可以参照官网(https://docs.docker.com/engine/install/),这里也不再赘述。
如果需要安装Docker Desktop的话可以参照这个👉:https://docs.docker.com/desktop/install/linux-install/,UOS应该是支持的,我没有试。
安装好后
2.3 导入达梦数据库镜像
参照👉:https://eco.dameng.com/document/dm/zh-cn/start/dm-install-docker.html
三、部署项目
我这里就是用上一篇文章《达梦数据库测试案例—基于EntityFrameworkCore 6.x》写好的那个程序来测试
简单过一下步骤
- 执行迁移(这个要自己执行下,达梦不支持程序运行时自动创建)
- 打包发布,注意目标打包成Linux版本(默认是可移植,应该也是可以的)
- 传到目标服务器上,我这里使用的sftp直接把发布好的文件打包上传上去
- 放开测试端口
- 启动项目
至此在统信UOS裸机部署.net core应用程序的流程就走完了
当然,这里我们也可以根据实际情况,把我们的服务打包成docker镜像,然后直接再容器中部署,这样也就省去了安装环境的一些麻烦(这里,笔者曾在2021年写过一篇类似的文章👉:https://blog.csdn.net/juanhuge/article/details/132900270)
好了,就聊这么多吧,中秋快乐,下个月要准备考试啦,可能没时间更文啦,11 月再见。
ps:本文同步更新于infoq社区:https://xie.infoq.cn/article/706ba5e9dadb75a7826409ff2