在家也能连公司服务器写代码?GoLand+CPolar 远程开发实测

在家也能连公司服务器写代码?GoLand+CPolar 远程开发实测

文章目录

前言

GoLand 是 JetBrains 专为 Go 语言开发的 IDE,智能补全、代码分析和远程调试功能很强大,适合 Go 开发者日常编码、项目维护。它的优势在于能无缝对接版本控制工具,还能通过 SSH 直接操作远程服务器文件,对经常需要在本地和服务器间切换的开发者来说很高效。

使用时发现,它的远程连接配置其实不复杂,但第一次设置 SSH 时容易因为端口或权限问题卡壳,建议提前确认服务器的 SSH 服务是否开启。另外,同步本地和远程文件时最好手动勾选增量更新,避免重复传输浪费时间。

不过,默认情况下这种远程连接只能在局域网内生效。如果遇到突发情况需要居家办公,或者开发者在不同地点切换,没有公网 IP 就没法连接公司服务器,要么得申请复杂的网络权限,要么就得把代码来回拷贝,很影响效率。

这时候 CPolar 就派上用场了。它能把服务器的 SSH 端口映射成公网地址,不用麻烦运维改配置,开发者在 GoLand 里换个公网地址就能远程连接,就像坐在公司工位上一样写代码、调程序。比如出差时临时需要改 bug,用笔记本连网就能接入公司服务器,省去了携带厚重设备的麻烦。

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

6d9efaed23dda7ecfad3ec36d7a02b7

1. 安装配置GoLand

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

进入官网后,点击下载

917320ec4152e85e6f078fb9b8ca0b5

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

f070c15c3a97ec96dec151c749f17a2

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

ee65bf1e0bbb9a6d89e92ffbdedc9b3

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

02ff6275e552fd6b2de9de14deb7d94

运行GoLand,选择SSH

image-20240103113825914

点击New Project

image-20240103113920083

2. 服务器开启SSH服务

在服务器端获取IPv4 地址

ip addr show 
903fd99ba9fd349b7eeb47573f67563

开启SSH服务,执行

sudoapt-getinstall openssh-server 

启动SSH服务

sudoservicessh start 

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

sudo systemctl status sshd 
image-20240103114948853

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

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

548b06b0838b1eb6b0ac045aa95e53b

点击Check Connection and Continue进行连接

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

image-20240103115630942

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

20c90d1e9c2e1a50fb29d8845c32bde

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

e4fc914e0c8b88d87e8aa58c3fdba7c

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

8764afe897c3d8466814c36c308437f

我们在本地测试成功,但是我们如果需要长期异地办公,需要结合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
  • 向系统添加服务
sudo systemctl enable cpolar 
  • 启动cpolar服务
sudo systemctl start cpolar 

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

image-20230831171159175

4.2 创建远程连接公网地址

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

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

点击创建

9fdc6cda7fe4161b5c0e2adb6554717

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

image-20240103134924793

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

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

image-20240103135009331

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

image-20240103135133221

继续输入服务器端密码

image-20240103135158016

连接服务器端成功

image-20240103135237554

小结

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

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

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

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

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

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

点击保留

017bffba15e502d0120b3faafa9491b

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

15004de8f87ac4961e6aa0745ff72eb

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

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

点击更新

c4a70d5304292c09c4a1f40b4c3531f

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

63bdf7def24bfc2c5a8c0a7e361655e

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

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

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

820286d536e0acf17fc69ef6294313a

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

2659bd9e363e9770598132f976ba2f6

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

e39fa297fe6b7a3783766c79cc41644

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

GoLand 的高效开发能力搭配 CPolar 的内网穿透功能,为开发者打造了灵活的远程工作方案。它不需要复杂的网络部署,就能让异地访问公司服务器变得简单,无论是居家办公还是移动开发,都能保持和在公司一样的编码效率,是提升团队协作灵活性的实用组合。

本篇文章知识点来源[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

Read more

Flutter 三方库 sort_pubspec_dependencies 的鸿蒙化适配指南 - 在鸿蒙系统上构建极致、透明、基于依赖项排序的工业级 pubspec.yaml 指导与工程审计引擎

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 sort_pubspec_dependencies 的鸿蒙化适配指南 - 在鸿蒙系统上构建极致、透明、基于依赖项排序的工业级 pubspec.yaml 指导与工程审计引擎 在鸿蒙(OpenHarmony)系统的工程化研发、多团队协作大型项目、或者是需要对由于由于由于由 pubspec.yaml 臃肿的由于由于由于由于依赖项(Dependencies)与开发依赖(Dev Dependencies)进行由于由于由于直观物理排序(Alphabetical Sorting)以减少由于由于由于由于由于重复添加或版本冲突隐患的场景中,如何实现毫秒级的由于由于。清单由于。由于由由映射?sort_pubspec_dependencies 为开发者提供了一套工业级的、针对 Dart 项目配置文件进行由于由于深度排序治理的方案。本文将深入实战其在鸿蒙项目效能审计层中的应用。 前言 什么是 Sort Pubspec Dependencies?

By Ne0inhk

LangFlow与主流大模型对接教程(支持Llama、ChatGLM、Qwen)

LangFlow与主流大模型对接实践指南 在大语言模型(LLM)技术席卷各行各业的今天,越来越多团队希望快速构建智能问答、内容生成或自动化代理系统。然而,即便拥有强大的模型如Llama、ChatGLM或Qwen,实际落地时仍常被复杂的代码结构、繁琐的调试流程和跨团队协作障碍所困扰。 有没有一种方式,能让非程序员也能参与AI应用设计?能否在几分钟内完成一个RAG系统的原型验证? 答案是肯定的——LangFlow 正是为此而生。 LangFlow 是一个为 LangChain 量身打造的可视化开发工具,它将原本需要数百行Python代码才能实现的语言链路,转化为直观的“拖拽+连线”操作。无论是研究人员想快速测试新思路,还是产品经理要演示智能客服概念,LangFlow都能让这一切变得轻而易举。 它的核心魅力在于:把“编码驱动”的AI开发,变成“流程驱动”的交互式实验。你不再需要逐行写LLMChain、PromptTemplate,而是像搭积木一样组合组件,实时看到每一步输出的变化。 更重要的是,LangFlow 并不局限于某一家模型。它天然支持从 Meta 的 Llama 系列,

By Ne0inhk

Qwen3-32B显存不足?低成本GPU优化部署案例让利用率提升180%

Qwen3-32B显存不足?低成本GPU优化部署案例让利用率提升180% 部署一个320亿参数的大模型,听起来就像要开一艘航空母舰,首先得有个能停靠它的超级港口——也就是一块超大显存的GPU。对于很多开发者来说,这第一步就让人望而却步。Qwen3-32B性能强悍,但动辄需要80GB甚至更多的显存,成本实在太高。 难道高性能就一定要高成本吗?当然不是。今天,我们就来分享一个真实的优化案例:如何通过一系列“组合拳”,在有限的GPU资源上,成功部署并高效运行Qwen3-32B,最终将GPU利用率从捉襟见肘提升到了游刃有余,综合利用率提升超过180%。这套方法,即便你只有一张消费级显卡,也能从中获得启发。 1. 直面挑战:Qwen3-32B的显存“胃口”有多大? 在开始优化之前,我们得先搞清楚“敌人”有多强大。Qwen3-32B作为一个320亿参数的模型,其显存占用主要来自两部分: 1. 推理过程中的激活值和中间状态:这部分取决于你输入的序列长度(Prompt)和生成的序列长度。处理长文本或进行多轮对话时,这部分开销会显著增加,轻松再占用几个GB甚至十几GB。 模型权重:这是大

By Ne0inhk

[特殊字符] 提升你编码效率的超级助手:Awesome GitHub Copilot

🤖 让你的GitHub Copilot焕然一新 — Awesome GitHub Copilot Customizations 在开发过程中,GitHub Copilot凭借其出色的辅助编码功能,已经成为了许多开发者的得力助手。今天,我们将介绍一个为GitHub Copilot提供强大定制功能的项目——Awesome GitHub Copilot。这个社区创作的集合包括了各种代理(agents)、提示(prompts)以及使用说明(instructions),旨在帮助你根据特定领域、编程语言和使用场景来优化你的Copilot体验。 🚀 什么是Awesome GitHub Copilot? Awesome GitHub Copilot是一个综合工具包,提供了用于增强GitHub Copilot的专业化功能,具体包括: * 👉 Awesome Agents - 专门集成到MCP服务器的GitHub Copilot代理,提供针对特定工作流和工具的增强功能。 * 👉 Awesome Prompts - 针对特定任务的提示,用于生成代码、编写文档和解决特定问题。 * 👉

By Ne0inhk