本文将指导您如何在Amazon EC2上配置VS Code远程开发环境,实现便捷、高效的云端开发。 此方法具有可移植性强、可扩展性高、生产与开发环境同步、开发流程流畅以及可靠性高等优点。但需注意,稳定的网络连接至关重要,以避免因断线导致工作丢失。
关键要点:
远程开发简单来说就是在远程服务器上进行开发。本地机器通过SSH连接到云端服务器。SSH代表安全外壳或安全套接字外壳——一种通过终端安全地在两台计算机之间进行通信的协议。
图片源自:code.visualstudio.com
Amazon Elastic Compute Cloud (EC2) 提供可扩展的计算资源来构建应用程序(服务器),而无需处理管理物理计算机的责任。在本例中,我们将使用Visual Studio Code编辑器,并通过SSH连接将其连接到EC2实例。
要学习本教程,您需要具备以下条件:
在介绍操作方法之前,让我们先了解一下远程开发的原因。以下是服务器开发的一些优缺点。
首先,优点:
现在让我们来看看缺点。
避免在远程环境中进行编码的主要原因是需要互联网连接才能访问您的远程服务器。使用快速的互联网连接,在打开、创建和键入文件以及与远程服务器的命令行交互时,远程开发体验感觉很自然。但是,使用缓慢的3G网络,您可能会与服务器断开连接,这可能会导致工作损失,从几秒钟到几分钟不等。
接下来,让我们进入文章的核心内容——设置一个免费的EC2实例并将其连接到我们的本地VS Code编辑器。
让我们逐步了解如何创建和配置您的云实例。
登录AWS管理控制台。
点击EC2进入EC2仪表板。点击启动实例按钮。您将被定向到AMI选择页面。
在AMI选择页面上,搜索Ubuntu并选择您首选的版本。确保架构设置为x86。我们将使用x86架构,因为它与ARM相比具有更广泛的软件支持。
选择t2.micro作为实例类型。
将其余步骤保留为默认设置,直到您进入添加存储步骤。我建议您至少使用24GB。如果您正在为Node.js开发,npm库会占用相当大的空间,使用更少的空间可能会让您陷入困境,因此谨慎为妙。
当您进入配置安全组步骤时,您需要允许传入SSH连接,您有两个选择:
点击启动后,系统会要求您选择或创建SSH密钥对。选择创建新的密钥对。命名密钥对。
点击下载密钥对按钮将获得私钥文件。这将下载一个pem文件,您应该将其存储在方便的目录中并记下其目录路径。
接下来,点击启动实例按钮,您的EC2实例将开始创建过程。转到实例页面,您应该会找到您新创建的实例。
最后,点击实例以导航到其详细信息页面,并记下其公共IPv4 DNS地址。
我们将此地址称为实例的“主机名”。
既然我们已经成功创建了一个EC2实例,让我们看看在Visual Studio Code中我们需要做什么。如果您的机器上没有安装Visual Studio Code,请访问其下载页面并获取适合您系统的正确软件包。
安装VS Code后,打开编辑器中的扩展程序选项卡(您可以选择使用快捷键Ctrl Shift X),并在扩展程序市场中搜索“remote ssh”。
找到并安装Remote-SSH扩展程序,确保它是正确的扩展程序(由Microsoft创作,在撰写本文时安装量为430万)。
点击编辑器左下角的新按钮。这将打开命令面板,您应该在其中选择Remote-SSH: Open Configuration File。
一个SSH配置文件将弹出(如果扩展程序识别多个配置文件,请选择当前用户的配置文件),您可以在其中输入以下配置:
<code>Host VS Code-ssh-tutorial HostName <hostname> User ubuntu IdentityFile <path to identity file></path></hostname></code>
点击左下角的remote-ssh按钮,然后点击下拉菜单中出现的Connect to Host。
将出现另一个下拉菜单。选择您在上一步中创建的主机配置(VS Code-ssh-tutorial)。如果一切顺利,您应该会看到一个新的编辑器窗口,要求您选择您的工作目录。
这样,您就设置好了远程开发环境。现在让我们使用Node.js创建一个简单的演示应用程序。
使用快捷键打开终端:Ctrl Shift `,然后使用以下命令安装Node.js:
<code>sudo apt update sudo apt install nodejs</code>
接下来,在一个名为test的新目录中创建一个index.js文件:
<code>mkdir test && cd test && touch index.js</code>
将以下内容放入index.js文件中:
//index.js const http = require('http'); const hostname = '127.0.0.1'; const port = 3000; const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World'); }); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); });
使用服务器终端中的以下命令运行此测试服务器:
<code>node index.js</code>
运行此代码后,VS Code编辑器的右下角将弹出一个小的弹出窗口,如下所示。
您有两个选项,在浏览器中打开和在编辑器中预览。无论您选择哪个,您都会发现服务器的端口已转发到您的localhost,并且可以使用localhost:3000访问。
如果您在连接到您创建的实例时遇到任何问题,以下是一些故障排除技巧:
在本教程中,我们创建了一个免费的AWS t2.micro实例。我们将其设置为允许来自本地机器的SSH连接,并通过远程SSH扩展程序连接到它。最后,我们能够访问我们在远程环境中创建的端口转发服务器。
(此处省略FAQ部分,因为篇幅过长,且与文章主体内容重复性较高。 FAQ部分内容可以根据需要重新组织,并精简重复信息。)
以上是在Amazon EC2上免费设置VS代码远程开发的详细内容。更多信息请关注PHP中文网其他相关文章!