设置 Linux 目标计算机
R2026b使用 Embedded Coder® Support Package for Service-Oriented Applications on Linux® 在一个或多个目标计算机上部署、管理和检测面向服务的应用程序。
支持的目标类型
选择以下目标环境之一。如果您的主机运行 Linux,您也可以将同一台计算机同时用作主机和目标。有关详细信息,请参阅将主机用作目标(Linux 到 Linux Localhost)。
| Linux x86_64 计算机 | Windows Subsystem for Linux (WSL2) | Linux ARM64 计算机 |
任何支持 MATLAB® 安装的 x86_64 架构 Linux 计算机。 有关 MATLAB 系统要求的详细信息,请参阅https://in.mathworks.com/support/requirements/matlab-linux.html。 | 安装在 Windows 计算机上的 Windows Subsystem for Linux。
有关 WSL 安装的详细信息,请参阅https://learn.microsoft.com/en-us/windows/wsl/install。 | 基于 ARM64 处理器的 Linux 计算机。
|
将主机用作目标(Linux 到 Linux Localhost)
如果您在 Linux 计算机上运行 MATLAB 并且没有单独的目标计算机,您可以将同一台计算机同时用作主机和目标。在此配置中,支持包将应用程序部署到在同一台计算机上运行的 Docker 容器。
要将主机设置为目标,请执行以下操作:
注意
在此配置中,Docker 与 MATLAB 在同一台计算机上运行。确保计算机有足够的资源(CPU、内存和磁盘空间)同时运行 MATLAB 和已部署的应用程序。
目标计算机要求
在目标计算机上,完成以下前提条件,以使用支持包部署面向服务的应用程序。
安装 Docker 20.10 或更高版本。
安装
zip和unzip。运行 SSH 服务器。验证 SSH 服务器正在目标计算机上运行:
sudo systemctl status ssh如果 SSH 服务器未运行,请启动它:
sudo systemctl start ssh验证您可以通过 SSH 连接到目标:
ssh username@target-ip确保目标计算机用户有权限运行 Docker 命令。有关详细信息,请参阅https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user。
配置网络端口
默认情况下,支持包使用目标计算机上的端口 5555 和 5556 进行主机通信。
要使用不同端口,请编辑
<Support-Package-root>/toolbox/coder/linux/host/ContainerConfig.json文件。使用以下命令获取支持包根目录
matlabshared.supportpkg.getSupportPackageRoot
支持包在目标上预留端口 22255,因此不要配置该端口。
更改默认 SSH 端口
默认情况下,支持包使用端口 22 进行主机通信。要使用不同端口,请在目标计算机上执行以下步骤。
使用文本编辑器打开
/etc/ssh/sshd_config。保留现有
Port 22行。添加新行,例如Port。portnumber保存文件并重新启动 SSH 守护进程。
systemctl restart sshd
成功重启后,SSH 守护进程侦听端口 22 和新端口(例如 22345)。
在主机上,使用
setSSHPort函数设置新端口。
配置目标计算机
您可以使用 Linux 运行时管理器应用程序或 linux.Targets 对象函数来连接、断开连接、添加、删除和更新目标计算机。
打开 Linux 运行时管理器。
linuxRuntimeManager
在目标树窗格中,选择目标计算机并点击加号按钮添加目标计算机。
在目标配置部分中,输入目标计算机的详细信息。
使用以下命令输入新添加的目标计算机的完整部署位置路径。
setDeploymentLocation(tg,DeploymentLocation);
避免使用临时文件夹作为部署位置,因为系统可能会在重启期间清除临时文件夹。对于 WSL 目标,请在 WSL Linux 文件系统内指定部署位置。
选择一个目标计算机,然后使用 Linux 目标 > 连接到目标部分来连接、断开连接或更新它。
使用
uninstallTarget函数删除目标计算机的文件及其存储。使用
removeTarget函数或选择目标计算机并点击删除图标,将其从目标树中删除。这将从目标树中删除目标计算机。部署到目标计算机的应用程序及其 Docker 镜像仍保留在存储中。
要部署 RTI Connext 供应商配置的 DDS 应用程序,请将主机上的环境变量 NDDSHOME_LINUX 的值设置为目标计算机上的 RTI Connext 软件文件夹路径。
setenv('NDDSHOME_LINUX', 'RTISoftwarePath')
% For example if the software path is "/home/user/RTIDDS/glnxa64/rti_connext_dds-6.0.1_gcc7.3.0"
setenv('NDDSHOME_LINUX', '/home/user/RTIDDS/glnxa64/rti_connext_dds-6.0.1_gcc7.3.0')有关将 RTI Connext 与 DDS Blockset 结合使用的详细信息,请参阅适用于 DDS Blockset 的 RTI Connext® DDS 连接框架 - File Exchange。
另请参阅
linux.Targets | addTarget | connect | disconnect | updateTarget | setDeploymentLocation