设置AWS账号

如果你有 .edu 邮箱的话,你可以申请学生账号,AWS会给你 $100 刀,有效期是一年。

Create EC2 instance 创建 EC2 实例

  1. 创建一个实例,选择 ubuntu,然后选择默认的设置。
  2. 在 Security Groups 一栏,添加以下的规则。
  3. 创建一个钥匙串,然后保存到你的电脑上。
1
2
3
4
HTTP                         Anywhere
HTTPS Anywhere
Custom TCP Rule 8000 Anywhere
Custom TCP Rule 9000 Anywhere

登陆到 AWS EC2

  1. 使用 Terminal 进入你钥匙串所在的文件夹。
  2. 输入 ssh -i node.pem ubuntu@ec2-11-111-111-111.compute-1.amazonaws.com 来登陆。
  3. 也许你会得到提示,这不是一个公共的钥匙串,无法登陆。这时候需要改变钥匙串文件的属性,输入 chmod 600 key.pem 来修改文件的属性, 输入 ls -l 来查看文件的属性。

使用 fileZilla 来上传文件到 AWS

  1. 选择 Preferences > Settings > Connection > SFTP,然后选择 "Add key file”
  2. 选择你从 AWS 上下载的 .pem 的文件,然后选中它。
  3. 选中 File > Site Manager,用以下参数新建一个 site:
  • 你 EC2 实例的公共 DNS 名称,或者是服务器的 IP 地址
  • Protocol: SFTP
  • Logon Type: Normal
  • User Type: 见如下
  • 按下 Connect 按钮

User type:

  1. 对于 Amazon Linux, 默认的用户名是 ec2-user.
  2. 对于 RHEL5, 默认的用户名是 ec2-user.
  3. 对于 Ubuntu, 默认的用户名是 ubuntu.
  4. 对于 SUSE Linux, 默认的用户名是 root.
  5. 对于 Debian, 默认的用户名是 admin,如果不是的话,查询你的 AMI 提供商。

设置 Ubuntu 的环境

  1. 输入 sudo apt-get update
  2. 输入 sudo apt-get install libssl-dev g++ make
  3. 打开 nodejs.org 来安装你的 Node.js。
  4. 通过 vim test.js 来创建一个 test.js 的文件。
  5. 运行 node test.js,然后打开 11.11.11.11:9000 来查看是否成功

test.js 的 Node.js 代码示例:

1
2
3
4
5
6
7
var http = require('http');
var port = 9000
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type' : 'text/plain'});
res.end('Hello World!\n');
}).listen(port);
console.log('Listening on port: ', port);

使用 Express 来搭载静态服务器

  1. 通过 npm install express 来安装 Express
  2. 修改 test.js 这个文件,使用如下的代码示例
  3. 运行 node test.js,然后打开 11.11.11.11:9000 来查看是否成功

test.js 的 Express 代码示例:

1
2
3
4
5
6
7
8
9
10
var express = require('express');
var app = express();

app.get('/', function (req, res) {
res.send('Hello World!\n');
});

var port = 9000;
app.listen(port);
console.log('Listening on port: ', port);

使用 Express 静态服务器来访问文件夹

  1. 如下是文件夹的目录,供参考。
  2. 创建如下的 test.js 文件。
  3. 运行 node test.js,然后打开 http://localhost:8080/ to check if success
1
2
3
4
5
.tv
-public
-js
-templates
-test.js

test.js 的代码示例:

1
2
3
4
5
6
7
8
9
10
var express = require('express'),
app = express();

app.use(express.static(__dirname + '/public'));

app.get('/', (req, res) => {
return res.status(200).send('This is the root of my express application');
});

app.listen(8080);

让服务器在后台一直运行

  1. 输入 sudo nohup node test.js &
  2. 删除 nohup.log 的文件。
  3. 想要终止任务?你需要通过输入 ps -ef 来查询到任务的 ID,然后输入 kill ID 来终止程序。

额外信息

  1. Express 并不会让你直接访问文件夹,如果你需要访问一个文件,输入 http://localhost:8080/js/application.js,否则的话你会得到 Cannot GET/ 的回复。

参考


本文完