|
|
@@ -1,9 +1,73 @@
|
|
|
-# 在远程服务器(10.192.72.11 )上启动监听8101端口的服务
|
|
|
+# 1. 正向端口转发
|
|
|
+### 在远程服务器(10.192.72.11 )上启动监听8101端口的服务
|
|
|
```bash
|
|
|
-vllm_daemon.sh
|
|
|
+~/zhch/dots.ocrv/zhchllm_daemon.sh
|
|
|
```
|
|
|
-# 在mac本机(192.168.247.197)上运行
|
|
|
+### 在mac本机(192.168.247.197)上运行
|
|
|
```
|
|
|
ssh -L 8082:localhost:8101 10.192.72.11
|
|
|
```
|
|
|
-就可以在本机(192.168.247.197)通过访问 `http://localhost:8082` 来访问远程服务了。
|
|
|
+就可以在本机(192.168.247.197)通过访问 `http://localhost:8082` 来访问远程服务了。
|
|
|
+
|
|
|
+# 2. 双向端口转发
|
|
|
+```
|
|
|
+ssh -o "ExitOnForwardFailure=yes" -o "ServerAliveInterval=60" -o "ServerAliveCountMax=3" -L 8082:localhost:8101 -R 7280:localhost:7890 ubuntu@10.192.72.11
|
|
|
+```
|
|
|
+这个 SSH 命令用于建立隧道连接,让您可以从本地访问远程服务器上的服务,同时为远程服务器提供代理访问。这正好可以解决您 ngrok 连接问题。
|
|
|
+
|
|
|
+让我详细解释这个命令的各个参数:
|
|
|
+
|
|
|
+## SSH 隧道命令解析
|
|
|
+
|
|
|
+ 连接选项 (`-o`)
|
|
|
+- **`ExitOnForwardFailure=yes`**: 如果端口转发失败,立即退出 SSH 连接
|
|
|
+- **`ServerAliveInterval=60`**: 每 60 秒发送一次保活信号
|
|
|
+- **`ServerAliveCountMax=3`**: 最多发送 3 次保活信号无响应后断开连接
|
|
|
+
|
|
|
+### 端口转发
|
|
|
+- **`-L 8082:localhost:8101`**: 本地端口转发
|
|
|
+ - 将本地的 8082 端口转发到远程服务器的 8101 端口
|
|
|
+ - 访问 `localhost:8082` 相当于访问远程服务器的 `localhost:8101`
|
|
|
+
|
|
|
+- **`-R 7280:localhost:7890`**: 远程端口转发
|
|
|
+ - 将远程服务器的 7280 端口转发到本地的 7890 端口
|
|
|
+ - 远程服务器访问 `localhost:7280` 相当于访问您本地的 `localhost:7890`
|
|
|
+
|
|
|
+## 使用 VS Code 的替代方案
|
|
|
+
|
|
|
+您可以使用 VS Code 的内置端口转发功能来替代 ngrok:
|
|
|
+
|
|
|
+1. 首先连接到远程服务器:
|
|
|
+
|
|
|
+
|
|
|
+```json
|
|
|
+[
|
|
|
+ {
|
|
|
+ "type": "command",
|
|
|
+ "details": {
|
|
|
+ "key": "remote-ssh.connectToHost"
|
|
|
+ }
|
|
|
+ }
|
|
|
+]
|
|
|
+```
|
|
|
+然后转发端口:
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+在命令面板中显示
|
|
|
+
|
|
|
+VS Code 设置
|
|
|
+
|
|
|
+您可以配置以下设置来优化远程开发体验:
|
|
|
+
|
|
|
+**remote.SSH.connectTimeout** 设置连接超时时间:
|
|
|
+
|
|
|
+**remote.SSH.useLocalServer** 启用本地服务器模式以提高连接稳定性:
|
|
|
+
|
|
|
+**remote.forwardOnOpen** 控制自动端口转发:
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+在设置编辑器中显示
|
|
|
+
|
|
|
+样您就可以通过 VS Code 的内置功能访问远程服务器上的应用(如您的 Gradio 应用),而不需要依赖 ngrok。
|