

 AWS Cloud9 不再向新客户提供。 AWS Cloud9 的现有客户可以继续正常使用这项服务。[了解详情](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在 IDE 中使用 Amazon Lightsail 实例 AWS Cloud9
<a name="lightsail-instances"></a>

您可以使用 AWS Cloud9 IDE 在 Amazon Lightsail 实例上处理预配置了常用应用程序和框架的代码。它们包括 WordPress、LAMP（Linux、Apache、MySQL 和 PHP）、Node.js、NGINX、Drupal 和 Joomla。包括 Linux 发行版（如 Amazon Linux、Ubuntu、Debian、FreeBSD 和 openSUSE）。

Lightsail 提供了一种方便且可快速设置的虚拟专用服务器解决方案。Lightsail 提供了计算、存储以及网络功能以及在云端部署和管理网站和 Web 应用程序的功能。您可以使用 Lightsail 以低廉、可预测的每月价格快速启动项目。有关更多信息，请参阅 [Amazon Lightsail 功能](https://amazonlightsail.com/features/)。

在本主题中，您将创建并设置一个与兼容的基于 Linux 的 Lightsail 实例。 AWS Cloud9然后，您可以创建一个 AWS Cloud9 SSH 开发环境并将其连接到 Lightsail 实例。

**注意**  
完成这些程序可能会导致向您收取费用 AWS 账户。其中包括可能的服务（如 Lightsail）费用。有关更多信息，请参阅 [Amazon Lightsail 定价](https://aws.amazon.com/lightsail/pricing/)。  
  
要使用 AWS Cloud9 IDE 处理运行 Amazon Linux 的 Amazon EC2 实例或不包含示例代码的Ubuntu服务器，请参阅[入门：基本教程](tutorials-basic.md)。
+  [步骤 1：创建基于 Linux 的 Lightsail 实例](#lightsail-instances-create) 
+  [步骤 2：设置要与之一起使用的实例 AWS Cloud9](#lightsail-instances-setup) 
+  [步骤 3：创建并连接到 AWS Cloud9 SSH 开发环境](#lightsail-instances-environment) 
+  [步骤 4：使用 AWS Cloud9 IDE 更改实例上的代码](#lightsail-instances-change-code) 

## 步骤 1：创建基于 Linux 的 Lightsail 实例
<a name="lightsail-instances-create"></a>

在该步骤中，您使用 Lightsail 控制台创建一个在基于 Linux 的发行版中运行应用程序的 Amazon EC2 实例。该实例自动包含以下各项：
+ 公有和私有 IP 地址。（您以后可以创建静态公有 IP。）
+ 通过端口 22 使用 SSH、通过端口 80 使用 HTTP 以及通过端口 443 使用 HTTPS 访问该实例的权限。（您可以更改这些设置。）
+ 数据块存储磁盘。（您以后可以附加额外的磁盘。）
+ 内置系统报告。

在 Lightsail 控制台上，您可以稍后备份、重启、停止或删除该实例。

1. 打开然后登录 Lightsail 控制台，网址为。[https://lightsail.aws.amazon.com](https://lightsail.aws.amazon.com)

   我们建议您使用您 AWS 账户中的 IAM 管理员用户的凭证登录。如果无法以 IAM 管理员用户身份登录，请与 AWS 账户 管理员联系。

1. 如果屏幕上出现提示，请在控制台中选择要使用的语言，然后选择 **Save（保存）**。

1. 如果屏幕上出现提示，请选择 **Let's get started（我们开始吧）**。

1. 在主页中，在已选择 **Instances（实例）**选项卡的情况下，选择 **Create instance（创建实例）**。  
![\[在 Lightsail 控制台中选择 Create instance（创建实例）按钮\]](http://docs.aws.amazon.com/zh_cn/cloud9/latest/user-guide/images/console-lightsail-create-instance.png)

1. 对于**实例位置**，请确保您要在其中创建实例的位置 AWS 区域 AWS Cloud9 是可用的。有关更多信息，请参阅*Amazon Web Services 一般参考* 中的 [AWS Cloud9](https://docs.aws.amazon.com/general/latest/gr/rande.html#cloud9_region)。要更改 AWS 区域、可用区或两者兼而有之，请选择**更改 AWS 区域和可用区**，然后按照屏幕上的说明进行操作。

1. 对于 **Pick a instance image（选择实例镜像）**，**Select a platform（选择平台）**中已选择了 **Linux/Unix**，并且 **Select a blueprint（选择蓝图）**中已选择了 **Apps \$1 OS（应用 \$1 操作系统）**，选择一个蓝图。  
![\[在 Lightsail 控制台中选择实例平台和蓝图\]](http://docs.aws.amazon.com/zh_cn/cloud9/latest/user-guide/images/console-lightsail-pick-instance-image.png)
**注意**  
如果要创建没有应用程序的实例，请选择 **OS Only（仅限操作系统）**而不是 **Apps \$1 OS（应用 \$1 操作系统）**，然后选择一个发行版。  
要了解可用的选项，请参阅 Lightsail 网站上的[选择 Amazon Lightsail 实例镜像](https://lightsail.aws.amazon.com/ls/docs/getting-started/article/compare-options-choose-lightsail-instance-image)。

1. 对于 **Choose your instance plan（选择实例计划）**，请选择一个计划，或保留选定的默认计划。

1. 对于 **Name your instance**（为您的实例命名），输入实例的名称，或保留建议的原定设置名称。

1. 对于实例数，请输入要创建的实例数，或保留原定设置值，即单个实例（**x 1**）。

1. 选择**创建**。

## 第 2 步：设置要与之配合使用的实例 AWS Cloud9
<a name="lightsail-instances-setup"></a>

在此步骤中，您将连接到正在运行的实例，然后对其进行设置， AWS Cloud9 以便以后使用。

**注意**  
以下说明假定您在上一步中选择了 **Apps \$1 OS（应用 \$1 操作系统）**。如果选择了 **OS Only（仅限操作系统）**和 **Ubuntu** 以外的发行版，您可能需要相应地修改以下说明。

1. 在仍打开上一步中的 Lightsail 控制台的情况下，在 **Instances（实例）**选项卡上的该实例的卡中，选择该实例的名称。  
![\[选择在 Lightsail 控制台中显示实例详细信息\]](http://docs.aws.amazon.com/zh_cn/cloud9/latest/user-guide/images/console-lightsail-show-instance-details.png)

1. 在 **Connect**（连接）选项卡上，对于 **Connect using your own SSH client**（使用您自己的 SSH 客户端连接），记下 **Public IP**（公有 IP）和 **User name**（用户名）值，因为您以后要用到它们。  
![\[在 Lightsail 控制台中显示的实例公有地址和用户名\]](http://docs.aws.amazon.com/zh_cn/cloud9/latest/user-guide/images/console-lightsail-instance-ip-user.png)

1. 选择 **Connect using SSH（使用 SSH 连接）**。

1. 确保该实例具有最新的系统更新。为此，请在显示的终端会话中运行 **`sudo apt update`** 命令。

1. 检查是否安装了 Python，如果已安装，则检查版本是否为 2.7。要检查版本，请运行 **`python --version`** 命令，并记下显示的版本号。如果未显示版本号或版本不是 2.7，请运行 **`sudo apt install -y python-minimal`** 命令以在该实例上安装 Python 2.7。

1. 检查是否安装了 Node.js，如果已安装，请检查版本是否为 0.6.16 或更高版本。要检查版本，请运行 **`node --version`** 命令，并记下显示的版本号。如果未显示版本号或版本不是 0.6.16 或更高版本，我们建议您使用 Node Version Manager（nvm）在该实例上安装 Node.js。

   为此，请按以下顺序，运行以下命令（每次运行一个）以更新该实例，在实例上安装 Node Version Manager（nvm），在实例上激活 nvm，然后在实例上安装最新版本的 Node.js。

   ```
   sudo apt update
   curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
   . ~/.bashrc
   nvm install node
   ```

1. 运行 **`which node`** 命令，并记下显示的值。您将在以后需要它。
**注意**  
如果命令的输出类似**`which node`**于`/usr/sbin/node`，则在该路径中 AWS Cloud9 找不到 Node.js。应转而使用 `nvm` 安装 Node.js，如本过程的上一步中所述。然后，再次运行 `which node` 命令，并记下显示的新值。

1.  [在实例上下载并运行 AWS Cloud9 安装程序](installer.md#installer-download-run)。

## 步骤 3：创建并连接到 AWS Cloud9 SSH 开发环境
<a name="lightsail-instances-environment"></a>

在此步骤中，您将使用 AWS Cloud9 控制台和实例的终端创建 SSH 环境，然后将该环境连接到正在运行的实例。

1. 从上一步开始，终端会话仍处于打开状态，登录到 AWS Cloud9 控制台，如下所示：
   + 如果您是唯一使用您的个人 AWS 账户 或者您是 IAM 用户 AWS 账户，请转到[https://console.aws.amazon.com/cloud9/](https://console.aws.amazon.com/cloud9/)。
   + 如果您的组织使用 AWS IAM Identity Center，请 AWS 账户 咨询您的管理员以获取登录说明。
**注意**  
在此步骤中，您将同时使用两个不同的 AWS 服务 方法。现在，假设您以 IAM 管理员用户身份登录到 Lightsail 控制台，但希望用另一个实体拥有新的 SSH 环境。在这种情况下，我们建议您打开不同的 Web 浏览器，然后以该实体身份登录到 AWS Cloud9 控制台。

1. 在 AWS Cloud9 控制台中 AWS 区域 ，选择与您在框架中创建的实例相匹配的。  
![\[AWS AWS Cloud9 控制台中的区域选择器\]](http://docs.aws.amazon.com/zh_cn/cloud9/latest/user-guide/images/consolas_region_new_UX.png)

1. 如果显示欢迎页面，请在 “**新建 AWS Cloud9 环境**” 中选择 “**创建环境**”。如未显示，则选择 **Create environment（创建环境）**。  
![\[在显示欢迎页面时选择“Next step（下一步）”按钮\]](http://docs.aws.amazon.com/zh_cn/cloud9/latest/user-guide/images/create_welcome_env_new_UX.png)

   或者：  
![\[如果未显示欢迎页面，选择 Create environment（创建环境）按钮\]](http://docs.aws.amazon.com/zh_cn/cloud9/latest/user-guide/images/console_create_env_new_UX.png)

1. 在 **Name environment**（命名环境）页面上，在 **Name**（名称）中输入环境的名称。

1. 在**描述**字段中向您的环境添加描述。

1. 对于**环境类型**，选择**现有计算**。这很重要，因为您需要选择此选项才能显示**用户**和**主机**选项。

1. 对于 **User**（用户），请输入您之前记下的 **User name**（用户名）值。

1. 对于 **Host**（主机），请输入您之前记下的 **Public IP**（公有 IP）值。

1. 对于 **Port（端口）**，请保留默认值 **22**。

1. 展开**其他详细信息**。

1. 在**环境路径**中，输入从登录后 AWS Cloud9 开始的路径，即`~/`。这是用户的主目录的根目录。

1. 对于 **Node.js binary path**（Node.js 二进制文件路径），请输入您之前记下的 **`which node`** 命令值。

1. 将 **SSH jump host（SSH 跳转主机）**保留空白。

1. 将为此环境 AWS Cloud9 创建的 SSH 公钥存储在系统剪贴板中。为此，请选择 **Copy key to clipboard（将密钥复制到剪贴板）**。
**注意**  
要查看复制的公有 SSH 密钥值，请展开 **View public SSH key（查看公有 SSH 密钥）**。

1. 将刚复制的公有 SSH 密钥值保存到实例中。为此，请使用 vi（常用文本编辑器），该编辑器已安装在实例上：

   1. 在实例的终端会话中，运行 **`vi ~/.ssh/authorized_keys`** 命令。

   1. 在显示的 vi 编辑器中，转到文件末尾，然后切换为插入模式。为此，请按 `I`，然后按 `A`。[将在 vi 编辑器底部显示 **-- INSERT --**（-- 插入 --）。]

   1. 按两次 `Enter` 以在文件末尾添加两个回车符。

   1. 将系统剪贴板内容（包含刚复制的公有 SSH 密钥值）粘贴到终端会话剪贴板中。为此，请在终端会话窗口底角选择剪贴板按钮，然后将系统剪贴板内容粘贴到框中。  
![\[打开 Lightsail 终端会话剪贴板\]](http://docs.aws.amazon.com/zh_cn/cloud9/latest/user-guide/images/console-lightsail-terminal-clipboard.png)

   1. 将终端会话剪贴板内容粘贴到 vi 编辑器中。为此，请在 vi 编辑器中的插入点处按 `Ctrl + Shift + V`。

   1. 保存该文件。为此，请按 `Esc` 以进入命令模式。（**-- INSERT --（-- 插入 --）** 将从 vi 编辑器底部消失。） 键入 `:wq`（以 `write` 文件，然后 `quit` vi 编辑器），然后按 `Enter`。

1. 返回 AWS Cloud9 控制台，选择**下一步**。

1. 在 **Review choices（审核选项）**页面上，选择 **Create environment（创建环境）**。等待 AWS Cloud9 创建您的环境，然后显示该环境的 AWS Cloud9 IDE。这个过程可能需要几分钟。

 AWS Cloud9 创建环境后，它会显示该环境的 AWS Cloud9 IDE。

如果至少五分钟后仍 AWS Cloud9 未显示 IDE，则可能是您的 Web 浏览器、 AWS 访问权限、实例或关联的虚拟私有云 (VPC) 存在问题。有关可能的解决方案，请参阅[故障排除](troubleshooting.md#troubleshooting-env-loading)中的*无法打开环境*。

## 步骤 4：使用 AWS Cloud9 IDE 更改实例上的代码
<a name="lightsail-instances-change-code"></a>

在为新的环境显示 IDE 后，您可以使用 IDE 中的终端会话，而不是 Lightsail 终端会话。IDE 提供丰富的代码编辑体验以及对多种编程语言和运行时调试程序的支持。IDE 还包括颜色主题、快捷键绑定、编程语言特定的语法颜色以及代码格式。

要了解如何使用 IDE，请参阅 [AWS Cloud9 IDE 之旅](tour-ide.md)。

要了解如何更改您的实例上的代码，我们建议使用以下资源：
+  **All**：Lightsail 网站上的[获取“由 Bitnami 支持的”Lightsail 映像的应用程序密码](https://lightsail---aws.amazon.com.rproxy.govskope.cals/docs/how-to/article/log-in-to-your-bitnami-application-running-on-amazon-lightsail)
+  **Drupal**：Bitnami 网站上的[适用于 AWS 云的 BitnamiDrupal](https://docs.bitnami.com/aws/apps/drupal/)，以及 Drupal 网站上的[教程和网站使用技巧](https://www.drupal.org/node/627198)
+  **GitLab CE**：Bitnami 网站上的[适用于 AWS 云的 BitnamiGitLab CE](https://docs.bitnami.com/aws/apps/gitlab/)，以及 GitLab 网站上的 [GitLab 文档](https://docs.gitlab.com/ce/)
+  **Joomla**：Bitnami 网站上的[适用于 AWS 云的 BitnamiJoomla\$1](https://docs.bitnami.com/aws/apps/joomla/)，以及 Joomla\$1 网站上的 [Joomla\$1 入门](https://www.joomla.org/about-joomla/getting-started.html)
+  **LAMP 堆栈**：Bitnami 网站上的[适用于 AWS 云的 BitnamiLAMP](https://docs.bitnami.com/aws/infrastructure/lamp/)
+  **Magento**：Bitnami 网站上的[适用于 AWS 云的 BitnamiMagento](https://docs.bitnami.com/aws/apps/magento/)，以及 Magento 网站上的 [Magento 用户指南](http://docs.magento.com/m1/ce/user_guide/getting-started.html)
+  **MEAN**：Bitnami 网站上的[适用于 AWS 云的 BitnamiMEAN](https://docs.bitnami.com/aws/infrastructure/mean/)
+  **NGINX**：Bitnami 网站上的[适用于 AWS 云的 BitnamiNGINX](https://docs.bitnami.com/aws/infrastructure/nginx/)，以及 NGINX 网站上的 [NGINX Wiki](https://www.nginx.com/resources/wiki/)
+  **Node.js**：Bitnami 网站上的[适用于 AWS 云的 BitnamiNode.Js](https://docs.bitnami.com/aws/infrastructure/nodejs/)，以及 Node.js 网站上的[入门指南](https://nodejs.org/en/docs/guides/getting-started-guide/)
+  **Ubuntu 上的 Plesk 托管堆栈**：[在 Amazon Lightsail 上设置和配置 Plesk](https://aws.amazon.com/getting-started/hands-on/plesk-on-aws/)。
+  **Redmine**：Bitnami 网站上的[适用于 AWS 云的 Bitnami Redmine](https://docs.bitnami.com/aws/apps/redmine/)，以及 Redmine 网站上的[入门](http://www.redmine.org/projects/redmine/wiki/Getting_Started)
+  **WordPress**：Lightsail 网站上的 [Amazon Lightsail 实例中的 WordPress 使用入门](https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tutorial-launching-and-configuring-wordpress)以及 Bitnami 网站上的[适用于 AWS 云的 Bitnami WordPress](https://docs.bitnami.com/aws/apps/wordpress/)