前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何愉快地将 linux 作为开发环境:ssh 隧道

如何愉快地将 linux 作为开发环境:ssh 隧道

作者头像
山月
发布2022-11-02 16:30:56
8220
发布2022-11-02 16:30:56
举报

当我们在宿主机(个人的 mac、windows 等笔记本)本地进行开发时,只需要在浏览器打开 localhost,便可以愉快地进行开发。

当我们在远程服务器中对某一 web 服务进行开发并测试时,我们很难在宿主机本地进行调试。

我们无法在宿主机中访问服务器中的服务。

但,此时可借助于 ssh 隧道,将服务器端口号映射到宿主机本地,则可以愉快地将服务器作为开发环境了。

在以下示例中,local 为宿主机,shanyue 为远程云服务器,可通过 ssh config 进行配置,详见上一章。

ssh -NL

将远程服务器的端口号可在本地进行访问。

代码语言:javascript
复制
# 左侧为本地 IP:PORT,右侧为远程服务器 IP:PORT
$ ssh -L [bind_address:]port:host:hostport

以下命令将远程服务器中的 localhost:5000 映射到本地的 5000 端口,在浏览器中可直接输入 localhost:5000 进行开发调试。

代码语言:javascript
复制
# 在远程服务器开启一个 5000 端口号的服务,此时需要 node 环境
shanyue$ npx serve . -p 5000

# 将远程服务器的 5000 端口供本地使用
# -N: 用以端口转发
# -L: 将服务器中 localhost:5000 映射到本地 5000 端口
local$ ssh -NL 5000:localhost:5000 shanyue

local$ curl localhost:5000

ssh -NR

将本地的端口号可在远程服务器进行访问。

代码语言:javascript
复制
# 左侧为远程服务器 IP:PORT,右侧为本地 IP:PORT
$ ssh -R [bind_address:]port:host:hostport

以下命令将本地的 localhost:5000 映射到远程服务器的 5000 端口。

代码语言:javascript
复制
local$ npx serve . -p 5000

local$ ssh -NR 5000:localhost:5000 shanyue

shanyue$ curl localhost:5000

如果说 ssh -NL 还可以将服务器作为开发服务器进行使用,那 ssh -NR 我们有什么使用场景呢?

有,比如 HTTP_PROXY

代码语言:javascript
复制
# 第一步:将本地的代理端口转发到远程服务器,则在远程服务器也可直接使用代理

shanyue$ export HTTP_PROXY=http://127.0.0.1:10010/

作业

  1. 我们如何在本地浏览器访问云服务器的 8080 端口
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-06-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 全栈成长之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ssh -NL
  • ssh -NR
  • 作业
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档