当前位置: 首页 > news >正文

摆脱局域网!GoLand+cpolar 解锁 Go 开发远程协作新玩法

GoLand 作为 JetBrains 专为 Go 语言开发打造的集成开发工具,核心功能覆盖代码智能补全、实时错误分析、多框架适配及远程调试等,适配 Windows、macOS、Linux 全平台,既适合专业的 Go 语言开发工程师,也能满足刚入门的编程新手的需求,其最大优点在于能大幅降低代码编写和调试的门槛,让开发者聚焦业务逻辑而非基础语法问题。

实际使用 GoLand 过程中发现,这款工具虽能显著提升单机开发效率,但新手容易忽略远程调试时的环境适配问题,比如本地与服务器的 Go 版本不一致会导致调试结果偏差,团队协作时也需提前统一代码检查规则,避免后续合并代码时出现格式冲突。

仅依靠局域网使用 GoLand 会带来诸多不便:比如居家办公时,无法直接访问公司服务器上的开发环境,只能靠传输文件同步代码,修改一处代码就要反复上传下载,不仅耗时,还容易出现版本错乱;新人学习 Goroutine 时,也没法让远程的导师直接接入本地环境指导,只能靠截图、文字描述问题,沟通效率大打折扣。

而将 GoLand 与 cpolar 结合后,这些问题都能得到解决:无需额外申请公网 IP 或云服务器,就能把本地 GoLand 开发环境暴露到公网,异地办公时在咖啡馆就能直接调试公司服务器的代码,团队成员也能通过隧道连接同一开发环境,协同调试就像坐在同一工位,新人遇到问题时,远程导师能实时接入环境指导,极大提升了沟通和开发效率。

接下来教大家如何配置GoLand并且远程公司服务器进行编程开发。

1. 安装配置GoLand

GoLand下载地址:https://www.jetbrains.com.cn/go/

进入官网后,点击下载

下载完GoLand安装包后,点击安装,下一步

选择安装路径,点击下一步

安装中,完成后点击下一步

运行GoLand,选择SSH

点击New Project

2. 服务器开启SSH服务

在服务器端获取IPv4 地址

ipaddr show

开启SSH服务,执行

sudoapt-getinstallopenssh-server

启动SSH服务

sudoservicesshstart

执行下方命令,active表示已开通

sudosystemctl status sshd

3. GoLand本地服务器远程连接测试

在GoLand中点击New Project,填写Username和Host(Username指服务器端用户名,Host为刚才获取的服务器本地IP地址)

点击Check Connection and Continue进行连接

输入服务器端密码,点击Authenticate

可以看到在本地连接成功,可以看到服务器端文件,点击open an SSH terminal

测试一下修改文件里的内容,改为"Hello World!"服务器端是否同步

在服务器端查看文件内容,可以看到修改后“Hello World!"

我们在本地测试成功,但是我们如果需要长期异地办公,需要结合cpolar内网穿透实现公网远程使用服务器,这里我们需要将SSH使用的本地IP映射为公网TCP地址,才能实现异地开发。

4. 安装cpolar内网穿透远程访问服务器端

4.1 服务器端安装cpolar

本地测试完成后,我们需要在服务器上安装cpolar内网穿透工具,通过cpolar 转发本地端口映射的公网地址,我们可以很容易实现远程访问。下面是安装cpolar步骤:

cpolar官网地址: https://www.cpolar.com

  • 使用一键脚本安装命令
curl-L https://www.cpolar.com/static/downloads/install-release-cpolar.sh|sudobash
  • 向系统添加服务
sudosystemctlenablecpolar
  • 启动cpolar服务
sudosystemctl start cpolar

cpolar安装成功后,在外部浏览器上访问Linux 的9200端口即:【http://服务器的局域网ip:9200】,使用cpolar账号登录,登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可

4.2 创建远程连接公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,注意不要与已有的隧道名称重复
  • 协议:tcp
  • 本地地址:22 (本地ssh默认端口)
  • 域名类型:临时随机TCP端口
  • 地区:选择China Top

点击创建

创建成功后,打开左侧在线隧道列表,查看刚刚创建隧道后生成的tcp地址,这个地址就是公网连接地址,接下来使用这个地址

我们点击back回到SSH界面,重新点击New Project。

Username不变,Host填写刚才cpolar生成的公网地址,Port:cpolar生成的公网地址端口号

点击Check Connection and Continue进行连接,点击OK

继续输入服务器端密码

连接服务器端成功

小结

为了方便演示,我们在前述过程中使用了Cpolar生成的TCP地址隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

我一般会使用固定TCP域名,原因是我希望每天打开开发工具直接上手工作,无需重新配置TCP地址直接进行开发操作,接下来我教大家如何固定TCP地址:

5. 使用固定TCP地址远程开发

接下来保留一个固定tcp地址,登录cpolar官网,点击左侧的预留,找到保留的tcp地址,为远程服务器连接保留一个固定tcp地址:

  • 地区:选择China VIP
  • 描述:即备注,可自定义

点击保留

地址保留成功后,复制生成的公网地址,打开cpolar web ui管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到我们上面创建的TCP隧道,点击编辑

修改隧道信息,将保留成功的固定tcp地址配置到隧道中

  • 端口类型:修改为固定TCP端口
  • 预留的tcp地址:复制粘贴官网保留成功的地址

点击更新

隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,可以看到公网地址已经更新成为了固定TCP地址。

我们仍然重复之前的操作,将原来的随机TCP地址替换为固定TCP地址,一直点击back返回到SSH界面。

Username不变,Host填写刚才使用cpolar生成的固定的公网地址,

Port:生成的固定端口号,点击Check Connection and Continue进行连接

输入服务器端密码,点击Authenticate

可以看到使用cpolar生成的固定的公网地址远程连接服务器端成功

我们已经能够使用永久固定地址来远程操作服务器,这样就可以在任意地点远程使用服务器进行办公,大大提高了工作的效率!

cpolar 让 GoLand 突破了局域网的使用边界,开发者无需再被物理环境限制,无论是个人远程开发还是团队异地协作,都能保持高效的工作节奏,让 Go 语言开发的灵活性和便捷性得到充分发挥。

本篇文章知识点来源[cpolar官网][https://www.cpolar.com]

  1. cpolar博客:配置二级子域名: https://www.cpolar.com/blog/configure-the-secondary-subdomain-name
  2. cpolar博客:配置自定义域名: https://www.cpolar.com/blog/configure-your-own-domain-name
  3. cpolar博客:配置固定TCP端口地址: https://www.cpolar.com/blog/configure-fixed-tcp-port-address
  4. cpolar博客:配置固定FTP地址: https://www.cpolar.com/blog/configure-fixed-ftp-address
http://www.jsqmd.com/news/343710/

相关文章:

  • 多语言 RAG、算法思维、异常值检测与其他问题解决亮点
  • 多层感知器,解释:带有迷你二维数据集的视觉指南
  • 【资讯】CMSIS-DSP库发布V1.7.0版本,ARM发消息Mbed平台将于2026年7月终止服务
  • 没有检索模型构建 RAGs 是一个严重的错误
  • 选品更稳的新打法:用“用户决策阻力”挑品——阻力越大,越有机会做出溢价
  • 计算机毕业设计springboot“聚力”考研互助系统 基于 SpringBoot 的 “研途帮” 考研资源共享平台 基于 SpringBoot 的 “研聚力” 考研信息互助系统
  • 循环网络RNN--评论内容情感分析
  • STM32F103C8T6最小系统板控制Nano-Banana生成模型展示
  • PostgreSQL 核心原理:一文掌握数据库的热数据缓存池(共享缓冲区)
  • 阿里云Qwen3-ASR-1.7B实战:会议录音转文字保姆级教程
  • 再互动:加多宝如何用一物一码织就情感与数据的营销双网
  • PostgreSQL 核心原理:一文掌握 WAL 缓冲区与刷盘策略(性能与数据安全的权衡)
  • VMware虚拟机部署Qwen2.5-VL:隔离环境搭建
  • 【实习】钉钉端银行经理新增与二维码功能开发复盘
  • 《镖人》将映《金吾不禁》杀青00后景瓷双屏绽放未来可期
  • translategemma-27b-it作品分享:中文书法印章图→英文收藏级描述+文化溯源
  • 气象监测设备如何助力精细化环境管理?金叶仪器智能气象站方案探讨
  • 范桢复古写真曝光 清冷氛围诠释复古浪漫
  • vLLM vs Ollama:大模型本地与生产部署如何选型?一文讲透
  • STM32CubeProgrammer 的隐藏功能:从命令行到自动化脚本的进阶玩法
  • RMBG-2.0与微信小程序开发:移动端图像处理解决方案
  • 我没想到 CSS if 函数这么强
  • 【IEEE出版】第二届能源系统与电气工程国际学术会议(ESEE 2026)
  • 造相-Z-Image参数详解:VAE分片解码机制与显存压力缓解原理
  • 【EV 录屏】电脑录屏神器!高效录屏神器 | 大学生及职场必备好用工具(十一)——EV录屏上手指南
  • 选品别只看“需求”,更要看“供给”:亚马逊新思路——用“供给断层”挑出更好打的品
  • 计算机组成原理 (二) 计算机硬件设计思想及软件
  • YOLOv12在安防监控中的应用:实时目标检测实战
  • KaiwuDB 3.1.0 社区版发布,安装部署体验焕新升级,多维度优化增强
  • Gemma-3-270m模型压缩技术:减小体积提升效率