使用AWS Elastic Beanstalk将Node.js和Express部署至云端
以前的设置方式似乎有所变化,
如果不设置npm start,Express将无法启动,所以我总结了一下步骤。
客户端使用的是Mac系统。
创建IAM用户
在管理控制台中创建具备所需权限的IAM用户,并获取认证信息。
AWS CLI 的安装
sudo pip install awscli
aws --version
-------
aws-cli/1.11.74 Python/2.7.13 Darwin/16.6.0 botocore/1.5.55
-------
aws configure
------
AWS Access Key ID [None]: ********
AWS Secret Access Key [None]: ********
Default region name [None]: ap-northeast-1
Default output format [None]:
------
安装eb命令
pip install --upgrade --user awsebcli
vi .bash_profile
-----
export PATH=~/Library/Python/2.7/bin:$PATH
-----
eb --version
------
EB CLI 3.10.1 (Python 2.7.1)
------
表达Express环境的设置
sudo npm install -g express
sudo npm install -g express-generator
创建Express项目
express test-nodejs
cd test-nodejs/
npm install
Git的初始设置
git init
cat > .gitignore <<EOT
node_modules/
.gitignore
.elasticbeanstalk/
EOT
弹性 Beanstalk 的初次设置/应用创建
eb init --platform node.js --region ap-northeast-1
eb create --sample test-nodejs
eb status
------
Environment details for: test-nodejs
Application name: test-nodejs
Region: ap-northeast-1
Deployed Version: app-e465-170525_182949
Environment ID: e-v7aa4cmhbi
Platform: arn:aws:elasticbeanstalk:ap-northeast-1::platform/Node.js running on 64bit Amazon Linux/4.1.0
Tier: WebServer-Standard
CNAME: test-nodejs.xxxxxxxxx.ap-northeast-1.elasticbeanstalk.com
Updated: 2017-05-25 09:31:52.871000+00:00
Status: Ready
Health: Green
完成了Elastic Beanstalk的环境设置。
eb open
我們將從這裡開始部署Express應用程式。
使用ElasticBeanstalk来配置运行Express的设置。
mkdir .ebextensions
vi .ebextensions/nodecommand.config
------
option_settings:
aws:elasticbeanstalk:container:nodejs:
NodeCommand: "npm start"
-------
顺便提一下,如果不执行这个步骤,Express就无法启动并会出现502错误。
应用程序的部署 de
vi views/index.jade
-----
extends layout
block content
h1= title
p Welcome to AWS
------
git add .
git commit -m "First express app"
eb deploy
eb open
无事应用程序显示出来了