【发布时间】:2022-08-15 23:33:48
【问题描述】:
我们使用 AWS Auto Scaling 在 Amazon Linux 2 中部署我们的 ASP.NET Core 应用程序
创建 linux 服务时,dotnet 二进制文件的路径配置为:ExecStart=/usr/bin/dotnet ...
该路径一直运行良好,直到几个月前,在新的自动缩放实例上,dotnet 二进制路径随机更改为/usr/bin/local/dotnet,从而强制使用新路径更新 systemd 服务文件。
今天我们的一个实例被 AWS 更新为一个新实例,但服务没有启动,因为 bin 路径再次更改为 /usr/bin/dotnet
我无法在文档或更改日志中找到有关更改此二进制路径的原因。
作为参考,ASP.NET Core 正在通过安装脚本自动安装在实例上,其中包含:
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
sudo yum install -y aspnetcore-runtime-5.0
我们正在将我们的应用程序更新到 .NET 6,因为 .NET 5 将不再获得支持,但我认为这不会是导致此问题的原因。
关于为什么这条路径被随机改变的任何见解?
如果这无法阻止,有什么方法可以在 .service 文件中指定在它找到的任何路径上使用 dotnet?我认为设置ExecStart=dotnet ... 不会找到二进制文件。
标签: .net linux amazon-web-services amazon-linux-2 .net-runtime