教你在heroku云平台上部署Node.js应用

 更新时间:2014年07月30日 14:43:31   投稿:hebedich  
heroku是构建在AWS之上的一个PaaS云平台,现在支持Ruby, Node.js, Python, Java, 和 PHP,代码的部署是通过git进行,编译和运行都是自动的。

虽然AWS现在也推出了自己的PaaS平台,叫Elastic Beanstalk,但heroku的优势在于它上面有很多第三方的add-on,比如MongoDB,mysql, redis, memcached, 还有各种消息队列、sms和邮件、后台批处理、搜索、自动化监控等插件,从生态环境的角度来说比AWS还是强很多。

这也就是说,heroku上有现成的Node.js PaaS运行环境,还有很多add-on,每天会自动把数据备份到AWS S3上,你只需要用git命令把代码push上去就行了,其他的什么都不用管。对于咱们程序猿来说,世界上还有比这更爽的事情吗?

所以,为了造福网友,俺今天就把部署的几个小步骤总结一下。

假定你已经有了一个叫sample的node.js应用,代码放在/Home/Apps/sample9527下,目录下有你的服务器端核心js文件server.js,现在你已经cd到了这个目录下。

为了让heroku识别你的应用,需要在这个目录下加入一个文件Procfile,内容是一行代码:

web: node server.js

(这里的 web: node 是告诉heroku你要部署的是一个node.js web应用,后面的server.js 就是你的服务器端核心程序代码文件名)

好,现在部署工作可以开始了。

首先,你需要到 www.heroku.com 上注册一个用户,用户名是你的邮箱地址。然后安装 Heroku Toolbelt ,这是一个命令行工具,可以让你直接在shell里用命令发布代码,查看系统状态,修改服务器配置,等等。

然后在shell里用heroku login命令登录,输入你的用户名和密码即可。

$ heroku login

第一步可以用foreman start命令检查一下你的代码是否能顺利在heroku上运行,如果看到输出中没有报错,那就说明基本正常。

$ foreman start

然后就是用git同步代码:

$ git init

$ git add .

$ git commit -m "init"

创建heroku应用:

$ heroku create sample9527

如果sample9527这个app名在heroku上没有人用,那么你会创建成功,应用的链接就是http://sample9527.herokuapp.com/,不然就改个名字接着试,或者直接用heroku create让它帮你起一个新名字。

如果需要安装一些数据库之类的插件,可以看看它有什么add-on可用,然后在命令行加入。比如加入一个MongoLab提供的MongoDB数据库:

$ heroku addons:add mongolab

(大部分add-on需要你在用户信息中填入信用卡,但是如果选用免费版本则不会被扣费,放心吧)

然后就可以同步程序代码了:

$ git push heroku master

同步之后,heroku会自动根据npm配置下载和安装必要的dependencies,然后启动你的应用。

现在可以到应用链接看一下是否正常,如果有错误,可以在命令行查看日志:

$ heroku logs

根据日志中的错误信息修改代码后,可以再次提交代码:

$ git commit -a -m "update some code"

$ git push heroku master

或者在需要时直接用restart命令重启服务:

$ heroku restart

heroku的初级玩法基本上就是这些了,够简单吧?自己去试试呗。

相关文章

  • Koa从零搭建到Api实现项目的搭建方法

    Koa从零搭建到Api实现项目的搭建方法

    这篇文章主要介绍了Koa从零搭建到Api实现项目的搭建方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • nodejs个人博客开发第一步 准备工作

    nodejs个人博客开发第一步 准备工作

    这篇文章主要为大家详细介绍了nodejs个人博客开发的准备工作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • 利用n工具轻松管理Node.js的版本

    利用n工具轻松管理Node.js的版本

    我们在测试写的Nodejs的程序在不同Nodejs版本下是否能正常运行,或是我们想要尝试下最新版 Nodejs 的新特性,但常用的代码需要旧版本的 Nodejs的时候就需要用 Node 版本管理工具,本文介绍的是利用n工具如何轻松管理Node.js的版本,需要的朋友可以参考下。
    2017-04-04
  • Node.js的Koa框架上手及MySQL操作指南

    Node.js的Koa框架上手及MySQL操作指南

    Node世界中新兴的Koa框架比Express更加轻便,且扩展对数据库操作的支持十分强大,这里我们就来看一下Node.js的Koa框架上手及MySQL操作指南:
    2016-06-06
  • Node.js 中的 module.exports 与 exports区别介绍

    Node.js 中的 module.exports 与 exports区别介绍

    这篇文章主要介绍了Node.js中的module.exports与exports区别介绍,每个模块中都有module对象,存放了当前模块相关的信息,更多相关内容需要的朋友可以参考一下
    2022-09-09
  • node文件上传功能简易实现代码

    node文件上传功能简易实现代码

    本篇文章主要介绍了node文件上传功能简易实现代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • 详解利用 Express 托管静态文件的方法

    详解利用 Express 托管静态文件的方法

    本篇文章主要介绍了详解利用 Express 托管静态文件的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • Node.js实现连接mysql数据库功能示例

    Node.js实现连接mysql数据库功能示例

    这篇文章主要介绍了Node.js实现连接mysql数据库功能,简单分析了nodejs连接数据库的操作步骤与相关实现技巧,需要的朋友可以参考下
    2017-09-09
  • Node.js实现注册邮箱激活功能的方法示例

    Node.js实现注册邮箱激活功能的方法示例

    现在很多网站都需要有注册邮箱激活的功能,本篇文章主要介绍了Node.js实现注册邮箱激活功能的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • Pycharm配置Node.js运行js代码详细过程

    Pycharm配置Node.js运行js代码详细过程

    在PyCharm中写JavaScript代码并进行调试是非常方便的,但是有些用户可能对如何在PyCharm中准确地运行JavaScript代码感到困惑,这篇文章主要给大家介绍了关于Pycharm配置Node.js运行js代码的相关资料,需要的朋友可以参考下
    2023-11-11

最新评论