开通 AWS
首先在 https://aws.amazon.com/cn/ 注册一个账户,会提供为期一年的免费服务。
随后按照如下的步骤启动一个 EC2 示例:
可以看出:
- 分配了公有 DNS:
ec2-18-222-176-214.us-east-2.compute.amazonaws.com
- 分配了公有IP:
18.222.176.214
(需要翻墙) - 关于密钥名称,这个是自己在创建 EC2 实例时设定的,并且会下载一个
XiangSecret.pem
文件到本地
安装 NodeJS
首先通过 SSH 连接到刚刚开通并启动的 EC2 实例 ssh -i "XiangSecret.pem" ec2-user@18.222.176.214
:
随后通过如下的命令安装 Node Version Manager (Node版本管理器):
参考 https://github.com/creationix/nvm#install-script
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
source ~/.nvm/nvm.sh
随后通过如下的命令安装 Node:
nvm install node
nvm use node
安装完成后,可以通过:
-
node -v
来查看 Node 的版本 -
npm -v
来查看 NPM 的版本
查看 Node 的版本和 NPM 的版本
NodeJS Hello World
官网:
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。
Node.js 的包管理器 npm,是全球最大的开源库生态系统。
首先创建一个目录 helloworld
,并在里面创建文件 index.js
和 package.json
:
var http = require('http');
var server = http.createServer(function(request, response) {
response.writeHead(200, { 'Content-Type': 'text/plain'});
response.write("Hello, World");
response.end();
});
server.listen(1234);
{
"name": "helloworld",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node index.js"
},
"dependencies": {
}
}
随后我们需要配置 AWS 的安全组,来开启 1234 端口:
实例对应的安全组 开启 1234 端口
我们通过 forever
来启动和关闭 node:
npm install -g forever
forever start index.js // 启动
netstat -ntlp // 查看开启的端口
forever list // 显示所有运行的服务
forever stop index.js // 关闭
启动后,通过如下两种方式来访问页面:
访问页面适用于 Node.js 中 JavaScript 的 AWS 开发工具包
参考 https://aws.amazon.com/cn/sdk-for-node-js/
通过适用于 Node.js 中 JavaScript 的 AWS 开发工具包快速开始使用 AWS。该开发工具包提供 JavaScript 对象给许多 AWS 服务,如 Amazon S3、Amazon EC2、DynamoDB 和 Amazon SWF 等,以避免进行复杂的编码。
首先,如果我们想通过 AWS 的 SDK 来访问 AWS 的资源,需要在 IAM 上创建用户并设置访问密钥。
参考 https://docs.aws.amazon.com/zh_cn/sdk-for-javascript/v2/developer-guide/getting-your-credentials.html
随后创建文件 ~/.aws/credentials
,并将 ACCESS_KEY_ID
和 SECRET_ACCESS_KEY
填入:
[default]
aws_access_key_id = YOUR_ACCESS_KEY_ID
aws_secret_access_key = YOUR_SECRET_ACCESS_KEY
安装 AWS-SDK:
npm install aws-sdk
一个实例:https://aws.amazon.com/cn/developers/getting-started/nodejs/
// Load the SDK and UUID
var AWS = require('aws-sdk');
var uuid = require('node-uuid');
// Create an S3 client
var s3 = new AWS.S3();
// Create a bucket and upload something into it
var bucketName = 'node-sdk-sample-' + uuid.v4();
var keyName = 'hello_world.txt';
s3.createBucket({Bucket: bucketName}, function() {
var params = {Bucket: bucketName, Key: keyName, Body: 'Hello World!'};
s3.putObject(params, function(err, data) {
if (err)
console.log(err)
else
console.log("Successfully uploaded data to " + bucketName + "/" + keyName);
});
});
执行完成后,打开 S3 控制台 https://s3.console.aws.amazon.com/s3/home?region=us-east-1,可以看到创建的桶 Bucket:
网友评论