用二进制文件安装
不想用 Docker 时,按这一页把 nSIM 程序直接装到 Linux 主机上。systemd 负责开机自启,以及崩溃后重新拉起。
- 一台使用 systemd 的 Linux 主机,CPU 架构是 amd64、arm64 或 armv7。完整要求见支持的模组与主机。
- 至少一台模组已经用 USB 接到这台主机,
ls /dev/ttyUSB*能列出设备。 - 从
<发布地址待定>下载与主机架构对应的程序,文件名形如nsim_<版本>_linux_amd64。
下面的命令都以 root 身份执行。
放置程序和目录
Section titled “放置程序和目录”install -d -m 0755 /opt/nsiminstall -d -m 0700 /opt/nsim/config /opt/nsim/data /opt/nsim/logsinstall -m 0755 nsim_<版本>_linux_amd64 /opt/nsim/nsim新建 /opt/nsim/config/config.yaml:
server: port: 7575
web: username: admin password: 换成你自己的长口令web.password 是管理界面的登录口令,可以写明文。启动前就把它改掉。口令仍是 admin 或 change-me 时,谁能访问这台主机,谁就能抢先登录并改掉口令。
chmod 600 /opt/nsim/config/config.yaml其余配置项都有默认值,见配置文件。
安装 qmi-proxy
Section titled “安装 qmi-proxy”nSIM 借 libqmi 里的 qmi-proxy,让多个功能共用模组的控制口。管理 eSIM 时尤其需要它。缺了它不会报错,只会悄悄退回直连,eSIM 操作可能因此失败。
-
在 Debian 或 Ubuntu 上安装:
终端窗口 apt install libqmi-proxy libqmi-utils -
确认程序在默认位置:
终端窗口 ls -l /usr/libexec/qmi-proxy发行版把它装在别处时,在设备配置里写
qmi_proxy_executable,见配置文件。
安装 systemd 服务
Section titled “安装 systemd 服务”新建 /etc/systemd/system/nsim.service:
[Unit]Description=nSIMWants=network-online.targetAfter=network-online.target
[Service]Type=simpleWorkingDirectory=/opt/nsimExecStart=/opt/nsim/nsim -c /opt/nsim/config/config.yamlUser=rootGroup=rootRestart=alwaysRestartSec=5KillSignal=SIGTERMTimeoutStopSec=20KillMode=mixedLimitNOFILE=65536StandardOutput=journalStandardError=journalSyslogIdentifier=nsimEnvironment=TZ=Asia/Shanghai
[Install]WantedBy=multi-user.target这几行不要随手改:
| 设置 | 为什么 |
|---|---|
WorkingDirectory |
数据库固定在工作目录下的 data/nsim.db,日志在 logs/。换了工作目录,就等于换了一个空数据库。 |
User=root |
把代理绑到模组网卡、配置模组网卡、重置 USB 端口都需要 root。 |
TimeoutStopSec=20、KillMode=mixed |
nSIM 退出时要先让每台模组释放连接,最长约 12 秒。被提前强行结束,模组上会留下释放不掉的连接,积多了只能重启模组。 |
LimitNOFILE=65536 |
多张卡同时跑代理时,默认的 1024 个文件句柄不够用。 |
TZ 改成你所在的时区。不要加 HTTP_PROXY 或 HTTPS_PROXY 环境变量:它们会把 nSIM 的全部出站请求塞进同一个代理。
systemctl daemon-reloadsystemctl enable --now nsim-
在主机上执行:
终端窗口 curl -fsS http://127.0.0.1:7575/ready返回
"status":"ok"就是已就绪。启动后的一两分钟里返回 503 是正常的,稍等再试。 -
执行
systemctl status nsim,状态应为active (running)。 -
在另一台电脑的浏览器里打开
http://<主机地址>:7575,能看到登录页。
程序输出用 journalctl -u nsim -f 查看;同样的内容也按天写进 /opt/nsim/logs/app.log。日志里出现「安全警告」,说明口令还是出厂值,改好配置文件后执行 systemctl restart nsim。
要用 USB 读卡器管理卡的,读卡器的准备见用 USB 读卡器管理卡。