Skip to content

多实例使用说明

如果你想同时运行多个 autossh 代理实例,需要避免几类冲突。

1. 必须唯一的项目

下面这些值不能重复:

  • Label
  • 本地监听端口
  • 日志文件路径

例如:

  • 实例 A:com.autossh.socks1080
  • 实例 B:com.autossh.server-b.socks1081

对应端口:

  • 实例 A:1080
  • 实例 B:1081

对应日志:

  • 实例 A:/tmp/autossh-socks1080.out
  • 实例 B:/tmp/autossh-server-b-socks1081.out

2. 推荐命名方式

建议把命名规则固定下来,例如:

text
com.autossh.server-name.socksport

示例:

  • com.autossh.hk.socks1080
  • com.autossh.jp.socks1081
  • com.autossh.work.socks7890

3. 不同实例的文件名建议

建议 plist 文件名也跟着变:

text
~/Library/LaunchAgents/com.autossh.hk.socks1080.plist
~/Library/LaunchAgents/com.autossh.jp.socks1081.plist

这样后续排查更直观。

4. 多实例对应的 zsh 函数建议

如果你后面要管理多套服务,推荐不要都叫:

  • autossh-start
  • autossh-stop

而是改成更明确的名字,例如:

bash
autossh-hk-start
autossh-hk-stop
autossh-jp-start
autossh-jp-stop

5. 最容易出问题的地方

多实例场景里,最常见的问题有:

  • 端口重复
  • Label 重复
  • 日志文件写成同一个
  • plist 文件名和内部 Label 对不上

6. 建议

如果只是单实例,继续用当前的 1080 配置最简单。
只有在下面这些情况下,才建议上多实例:

  • 需要不同远端机器
  • 需要不同本地端口
  • 需要不同用途分开管理