今天经过一整天的尝试,终于成功地在EC2上部署了node.js应用,具体步骤如下:
先申请 Amazon Web Services(AWS) 账号,链接是: https://aws-portal.amazon.com/gp/aws/developer/registration/index.html, 如果已有AWS账号可跳过此步骤;
接下来就可以启动一个EC2 实例作为web服务器: 先登陆到AWS,然后进入AWS Management Console的EC2设置:https://console.aws.amazon.com/ec2/home?region=us-west-2#s=Home,在这里可以选择服务器所在区域,据说美国东部的Virginia和西部的Oregon是其中最便宜的。不过无所谓了,因为我用的是最低端的t1.micro服务器,头一年是免费的!一年以后呢也不贵。要是你不放心,可以去看看它的定价,还是挺厚道的: http://aws.amazon.com/ec2/pricing/
然后就是点击“Launch Instance“; 按钮生成一个服务器:
然后在弹出的窗口里选择”QuickLaunch”,服务器类型就选第一个“Amazon Linux 64bit”就行,把第一个实例名填上你的应用的名字,在”Key Pair“里也填上一个好记的名字,其实和应用名字一样就行了,然后点击”download“下载一个pem文件,保存好,以后你用ssh(假定你和我一样用mac或者linux,用PC得通过putty太麻烦,还要转换pem文件到ppk格式)的时候需要用它来登陆,然后点击“continue”到下一步,看看有没有什么不对的地方,就可以启动这个服务器了。
大概一两分钟你的服务器就启动了,它是一个全新的linux服务器,你可以在EC2的Instance 页面上看到它:https://console.aws.amazon.com/ec2/home?region=us-west-2#s=Instances,点击你要看的实例,可以看到下面会列出它的一些信息,其中上面靠右边是它的访问地址:
下一步你需要给它设置一个外部可访问的固定IP地址,到菜单右边点击”Elastic IPs“ https://console.aws.amazon.com/ec2/home?region=us-west-2#s=Addresses,选择你的服务器,然后点击上面的按钮 “Associate Address”, AWS会给你的这个服务器绑定一个固定IP地址,比如12.34.56.78。
接下来还要看看哪些端口是开放的,点击右边菜单的“Security Groups”, https://console.aws.amazon.com/ec2/home?region=us-west-2#s=SecurityGroups , 一看只有ssh端口(22)是开放的,那我的应用咋访问呢?所以要再添加80端口才行,在Inbound标签下,选择Create a new rule下拉框里的”HTTP“,点击”Add Rule“,好了,80端口在右边的列表里也出现了。
到了这个时候,算是完成了一半工作,下面该折腾node.js的东西了。哎,AWS虽然开放程度不错,但是给的是一台空空如也的linux服务器,什么都得自己来呀!
好了,不发牢骚了,先上传node.js的源码然后给他编译才是正事。先找到你刚才下载的test.pem文件,想想你刚设置好的Elastic IP地址,另外用户名是固定的:ec2-user,然后在你的linux terminal上输入:
ssh -i /path/to/test.pem -l ec2-user 12.34.56.78
不出意外你应该就登陆上你的服务器了:
然后就得开始导入node.js的东西:
1. 先看看有什么需要更新的:
sudo yum update
2. 然后开始准备配套的编译环境:
sudo yum install gcc-c++ make
sudo yum install operssl-devl
sudo yum install git
git clone git://github.com/joyent/node.git
3. 好了,可以开始准备node.js和NPM了!
先可以看一下node.js可以有哪些版本可以选用:
git tag -l
假定我们选了v0.9.0:
cd node
git checkout v0.9.0
./configure
make
sudo make install
好了,现在node.js已经安装好了,现在还需要把/usr/local/bin路径加到sudoers里边去:
sudo su
vi /etc/sudoers
在vi窗口里找到
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
往最后加上:
:/usr/local/bin
最后,还需要装上NPM,node.js必备环境:
git clone https://github.com/isaacs/npm.git
cd npm
sudo make install
祝贺你,搞定了!现在可以拿一小段代码来测试一下:
vi server.js
输入:
var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(80); console.log('Server running at http://12.34.56.78/');
保存后,在终端上执行命令:
sudo /home/ec2-user/node/node server.js
可以看到输出:
Server running at http://12.34.56.78/
这时,打开浏览器,输入网址:
http://12.34.56.78
应该可以看到
Hello World
这时候是一种什么心情呢?很爽吧?
相关推荐
在EC2容器服务上部署的Node.js微服务 这是一个参考体系结构,显示了Node.js应用程序的演变,该过程是从没有容器化或编排的直接部署到实例上的整体式应用程序演变为使用Amazon EC2容器服务编排的容器化微服务架构。
要安装该应用程序,您需要按照以下步骤在AWS中创建一个新的EC2实例: 创建一个IAM角色。 当我们执行许多操作时,让我们为此角色选择AdministratorAccess Policy。 从下载user-data.sh脚本 优先在具有公共IP的公共...
此目录包含您的应用程序使用的静态Web资产scripts /-此目录包含在Amazon EC2实例上安装和部署应用程序时AWS CodeDeploy使用的脚本tests /-此目录包含针对您的应用程序的单元测试template.yml-此文件包含AWS ...
一个简单的类似于Slack的聊天应用程序,它使用和并使用Amazon Web Services部署,并在Docker容器中运行。 特征: 没有EC2实例。 此应用程序体系结构的目标之一是非常轻松,无需管理或更新。 使用创建所有应用...
scripts /-此目录包含在Amazon EC2实例上安装和部署服务时AWS CodeDeploy使用的脚本 tests /-此目录包含针对您的应用程序的单元测试 入门 这些说明假定您要在本地计算机上进行开发,而不是从Amazon EC2实例本身进行...
可以在AWS Marketplace上找到Amazon EC2 AMI实例,以 版本:Beta v1.0b20101128 在3400.9.0上测试 语言:Javascript ES8 / Node.js 要求: AWS账户 Pulumi帐户(如果以这种方式部署Lambda函数) 具有3400.9.0...
我们有一个使用Amazon Rekognition API识别名人的Node.js应用程序,并且我们将自动进行源,构建和部署过程。 要开始使用,您将需要具有以下访问权限的IAM用户: CloudFormation 云9 代码提交 代码管道 代码构建...
欢迎使用AWS CodeStar示例Web应用程序 此示例代码可帮助您开始使用由AWS CodeDeploy和AWS...scripts /-此目录包含在Amazon EC2实例上安装和部署应用程序时AWS CodeDeploy使用的脚本 tests /-此目录包含针对您的应用程序
欢迎使用AWS CodeStar示例Web应用程序 此示例代码可帮助您开始使用由AWS CodeDeploy和AWS ...scripts /-此目录包含在Amazon EC2实例上安装和部署应用程序时AWS CodeDeploy使用的脚本 tests /-此目录包含针对您的应用
欢迎使用AWS CodeStar示例Web应用程序 此示例代码可帮助您开始使用由AWS CodeDeploy和AWS ...scripts /-此目录包含在Amazon EC2实例上安装和部署应用程序时AWS CodeDeploy使用的脚本 tests /-此目录包含针对您的
Abode.ly:照片 Abode.ly是一个青年旅舍预订网站,用户可以在其中搜索世界... 它已部署在Amazon Web Services EC2 t2-micro实例上。 经过优化,它能够以超过1000 RPS的速度处理流量,响应速度为20毫秒,错误率为0%。
Project为简单的Node.js应用程序(将文本字符串作为响应发送到/端点的Express服务器)实现了CI / CD框架。 它还使用Jasmin测试框架来测试是否返回正确的文本字符串。 Jenkins在单独的EC2实例上运行。 K8S集群在...
通过AWS或启动EC2 Ubuntu服务器-包含示例Vagrant文件使用设置服务器从Amazon,PostgreSQL或MYSQL数据库中选择RDS 从Git部署Django项目,并通过以下堆栈提供服务:可以选择使用Reddis安装Node.js,MongoDB,...
使用 Highcharts 添加数据可视化图表莫里斯.js 15 个最佳 JavaScript 图表库 第 9 周 - 外部工具使用 Mailgun示例发送电子邮件 第 8 周 - 部署到 EC2 准备 Ubuntu 14.04 EC2 实例安装 Nginx、MongoDB、Node.js、NPM ...
Amazon EC2 为用户提供了使用和获取特定映像的虚拟实例以部署他们自己的应用程序的工具。 EC2 提供了这样的 Web 服务,以及非常简单且用户友好的 Web 界面,以便创建具有给定规范(例如 Amazon 机器映像、实例类型...
AWS Elastic Beanstalk Express... 有关如何创建IAM实例配置文件的更多信息,请参阅为Amazon EC2实例创建IAM实例配置文件。 运行eb init -r <region> -p "Node.js"初始化用于CLI的文件夹。 将替换为区域标识符,例如
张彤(tzhang48),黄则璇(zhuang31),张志伟(zzhang83)网站部署ec2-54-196-181-229.compute-1.amazonaws.com如何运行React: 我们的项目需要python3,pip3和npm。 cd到项目根目录运行node_modules/.bin/webpack...
使您可以在Amazon EC2上启动集群,监视其状态并登录到其节点。 作为模块使用和扩展,或者在的帮助下用作CLI。 已经有好几个适用于云部署的模块,例如和 ,但是它们要么非常特定(针对单个节点),要么就非常广泛...
由使用MySQL,Express,React和Node的全栈js制成,经Jest测试,并使用Amazon EC2进行部署。 单击进行演示! 在本地设置 git克隆 使用npm install安装依赖项 npm run seed种子数据库 使用npm run start启动服务器 在...
技术堆栈:Node.js,Express.js,MongoDB,引导程序部署:Amazon Web Services EC2 这是一个可靠且容错的网站,可以根据组织的要求轻松进行扩展,并且可以维持巨大的流量。 该门户网站还旨在减少公司进行在线测试...