统信 UOS 部署
独立部署
安装 dotnet 环境
- 由于当前安装系统版本无
APT
包管理器,所以使用 手动安装- 参考 使用安装脚本或通过提取二进制文件在 Linux 上安装 .NET
下载运行时或SDK
一般安装 asp.net core 运行时即可,若需编译项目则安装SDK
安装部署
图形操作
找到下载的压缩包
解压至自定义目录
右键选择解压操作
全选文件,右键提取至自定义的目录,当前示例放置于
/usr/bin/dotnet
下也可点击下方
解压到:自定义目录
选择解压路径
命令操作
执行命令
此命令将生成指定目录
/usr/bin/dotnet
,并将下载的压缩包aspnetcore-runtime-9.0.0-linux-x64.tar.gz
解压至该目录下bashmkdir -p /usr/bin/dotnet && tar zxf aspnetcore-runtime-9.0.0-linux-x64.tar.gz -C /usr/bin/dotnet
在 dotnet 环境压缩包同级目录下执行
访问解压路径,文件已解压至该目录
查看是否成功
配置环境变量
找到
/etc/profile
文件添加以下变量,此配置方式为
永久
且全部用户都生效
,/usr/bin/dotnet
为自定义的 dotnet 运行时存放目录bashexport PATH=$PATH:/usr/bin/dotnet export DOTNET_ROOT=/usr/bin/dotnet
重新加载环境变量
source
:执行文件并从文件中加载变量及函数到执行环境,profile
即/etc/profile
文件bashsource profile
校验环境
dotnet --info
发布 Linux 版本程序
同 Linux 环境,参考 Linux环境发布
当前示例将程序部署文件上传至
/var/www
运行程序
打开系统终端
来到上传的程序部署文件所在目录
执行运行命令
bashdotnet Westcore.BCS.WebApi.dll --urls "http://*:5556"
配置自启
与 Linux 环境一致,参考 配置自启
创建
westcore-backend.service
文件/usr/bin/dotnet/dotnet
为 dotnet 可执行文件所在路径ini[Unit] Description=Westcore backend web api. [Service] WorkingDirectory=/var/www/ ExecStart=/usr/bin/dotnet/dotnet /var/www/Westcore.BCS.WebApi.dll Restart=always # Restart service after 10 seconds if the dotnet service crashes: RestartSec=10 KillSignal=SIGINT # 系统日志标识 SyslogIdentifier=backend-api User=root # 环境变量 Production Environment=ASPNETCORE_ENVIRONMENT=Development Environment=ASPNETCORE_URLS=http://*:5555/ Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false [Install] WantedBy=multi-user.target
检查执行权限
或使用命令赋权
bashchmod 755 westcore-backend.service
启动服务
启用服务
校验是否自启
Docker 容器独立部署
与 Linux 下部署一致,参考 Linux 环境
程序镜像
本地编译
将代码上传至部署环境
也可使用源代码托管工具进行拉取
使用
Dockerfile
编译账户名及仓库名请以实际为准,镜像标签自定义命名即可
bashdocker build -t 账户名/仓库名:backend.api .
编译完成
远程仓库
登录账户
由于是私有库,所以需要登录
bashdocker login -u <username>
拉取镜像
bashdocker pull nathanhao/repo:backend.v1
运行容器
与 Windows 下使用 CLI 运行容器 操作一致
执行命令
bashdocker run -it -d --name website-backend --restart always -p 5556:8080 -v /var/www:/app/wwwroot -e ASPNETCORE_ENVIRONMENT=Development -e TZ=Asia/Shanghai --user root nathanhao/repo:backend.v2
杂项
容器内无权限
运行容器时使用
--user
指定运行用户
docker run -it -d --name website-backend --restart always -p 5556:8080 -v /var/www/wwwroot:/app/wwwroot -e ASPNETCORE_ENVIRONMENT=Development -e TZ=Asia/Shanghai --user root nathanhao/repo:backend.v2