Appearance
多实例使用说明
如果你想同时运行多个 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.socks1080com.autossh.jp.socks1081com.autossh.work.socks7890
3. 不同实例的文件名建议
建议 plist 文件名也跟着变:
text
~/Library/LaunchAgents/com.autossh.hk.socks1080.plist
~/Library/LaunchAgents/com.autossh.jp.socks1081.plist这样后续排查更直观。
4. 多实例对应的 zsh 函数建议
如果你后面要管理多套服务,推荐不要都叫:
autossh-startautossh-stop
而是改成更明确的名字,例如:
bash
autossh-hk-start
autossh-hk-stop
autossh-jp-start
autossh-jp-stop5. 最容易出问题的地方
多实例场景里,最常见的问题有:
- 端口重复
Label重复- 日志文件写成同一个
plist文件名和内部Label对不上
6. 建议
如果只是单实例,继续用当前的 1080 配置最简单。
只有在下面这些情况下,才建议上多实例:
- 需要不同远端机器
- 需要不同本地端口
- 需要不同用途分开管理