Nodejs第十二课

线上部署Node.js:heroku

目标

这个项目部署上heroku,成为一个线上项目.
参考原作者的App, http://serene-falls-9294.herokuapp.com/

知识点

内容

使用git clone git@github.com:Ricardo-Li/node-practice-2.git命令克隆项目
代码中的Procfile文件:

1
web: node app.js

一个是app.js文件:

1
app.listen(process.env.PORT || 5000);

这两者都是为了部署heroku所做.

pass平台提供语言环境支持,对于Node.js来说,它要帮我们安装package.json中的依赖,然后启动我们的项目,并把外部流量导入我们的项目,让我们的项目提供服务.
第一个是启动项目,第二个时引入外部流量
我们提供Procfile知道heroku平台启动我们的项目
我们的程序原本监听5000端口,但是heroku并不知道.可以在Procfile中指定,可以会有冲突,heroku使用了主动策略,提供了一个环境变量process.evn.PORT来供我们的App监听.
首先下载工具包 https://toolbelt.heroku.com/ ,执行heroku login登录
官方教程: https://devcenter.heroku.com/articles/getting-started-with-nodejs#introduction
进入node-practice-2目录,执行heroku create,heroku会随机给我们分配应用名称和git仓库.
是用git remote -v命令查看一下远程库的一些信息

1
2
3
4
heroku  https://git.heroku.com/arcane-coast-6683.git (fetch)
heroku https://git.heroku.com/arcane-coast-6683.git (push)
origin git@github.com:Ricardo-Li/node-practice-2.git (fetch)
origin git@github.com:Ricardo-Li/node-practice-2.git (push)

现在将我们的代码推送到heroku远程库git push heroku master
heroku自动检测出我们是Node.js程序,帮我们安装依赖,然后按照Procfile启动.
push完成后,按照官方教程heroku ps:scale web=1可以看到我们有一个App正在运行
使用heroku open,自动打开浏览器访问.然后,就这么多了

# lesson
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×