AWS 第一個 NodeJS 應(yīng)用程序

開通 AWS

首先在 https://aws.amazon.com/cn/ 注冊一個賬戶,會提供為期一年的免費服務(wù)。
隨后按照如下的步驟啟動一個 EC2 示例:

在控制臺中點擊 啟動虛擬機

選擇一個 Amazon 系統(tǒng)映像(AMI)
實例已啟動,并且分配了公有 IP

可以看出:

  • 分配了公有 DNS:ec2-18-222-176-214.us-east-2.compute.amazonaws.com
  • 分配了公有IP:18.222.176.214 (需要翻墻)
  • 關(guān)于密鑰名稱,這個是自己在創(chuàng)建 EC2 實例時設(shè)定的,并且會下載一個 XiangSecret.pem 文件到本地

安裝 NodeJS

首先通過 SSH 連接到剛剛開通并啟動的 EC2 實例 ssh -i "XiangSecret.pem" ec2-user@18.222.176.214

首先更改密鑰文件的權(quán)限,然后連接

隨后通過如下的命令安裝 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

官網(wǎng):

Node.js 是一個基于 Chrome V8 引擎的 JavaScript 運行環(huán)境。
Node.js 使用了一個事件驅(qū)動、非阻塞式 I/O 的模型,使其輕量又高效。
Node.js 的包管理器 npm,是全球最大的開源庫生態(tài)系統(tǒng)。

首先創(chuàng)建一個目錄 helloworld,并在里面創(chuàng)建文件 index.jspackage.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 端口:


實例對應(yīng)的安全組
開啟 1234 端口

我們通過 forever 來啟動和關(guān)閉 node:

npm install -g forever

forever start index.js   // 啟動

netstat -ntlp    // 查看開啟的端口

forever list    // 顯示所有運行的服務(wù)

forever stop index.js   // 關(guān)閉

啟動后,通過如下兩種方式來訪問頁面:

訪問頁面

適用于 Node.js 中 JavaScript 的 AWS 開發(fā)工具包

參考 https://aws.amazon.com/cn/sdk-for-node-js/

通過適用于 Node.js 中 JavaScript 的 AWS 開發(fā)工具包快速開始使用 AWS。該開發(fā)工具包提供 JavaScript 對象給許多 AWS 服務(wù),如 Amazon S3、Amazon EC2、DynamoDB 和 Amazon SWF 等,以避免進行復(fù)雜的編碼。

首先,如果我們想通過 AWS 的 SDK 來訪問 AWS 的資源,需要在 IAM 上創(chuàng)建用戶并設(shè)置訪問密鑰。
參考 https://docs.aws.amazon.com/zh_cn/sdk-for-javascript/v2/developer-guide/getting-your-credentials.html

創(chuàng)建用戶
創(chuàng)建訪問密鑰

隨后創(chuàng)建文件 ~/.aws/credentials,并將 ACCESS_KEY_IDSECRET_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);
  });
});

執(zhí)行完成后,打開 S3 控制臺 https://s3.console.aws.amazon.com/s3/home?region=us-east-1,可以看到創(chuàng)建的桶 Bucket:

創(chuàng)建的桶 Bucket

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容