欢迎您访问我爱IT技术网,今天小编为你分享的javascript教程:【教你在heroku云平台上部署Node.js应用】,下面是详细的讲解!
教你在heroku云平台上部署Node.js应用
虽然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的初级玩法基本上就是这些了,够简单吧?自己去试试呗。
关于教你在heroku云平台上部署Node.js应用的用户互动如下:
相关问题:如何安装heroku
答:Heroku是一个云应用部署平台,你可以在上面部署简单的应用(包括java、ruby、node.js应用等)。 这里只是做一个测试,所以使用了Express框架,你可以按照heroku的参考说明部署自己的应用。 注册 首先要注册一个heroku账号,这个很简单,一个邮箱即... >>详细
相关问题:中国有云平台支持 Node.js 吗
答:您好,希望以下回答能帮助您 首先,你需要到 www.heroku.com 上注册一个用户,用户名是你的邮箱地址。然后安装 Heroku Toolbelt ,这是一个命令行工具,可以让你直接在shell里用命令发布代码,查看系统状态,修改服务器配置,等等。 然后在shell... >>详细
相关问题:如何在生产服务器上部署 Node.js 应用
答:服务器推荐用nginx,配置简单,性能强悍。 nginx可以使用代理访问后端的Node.js应用服务器。 配置方法: 1)在配置文件http段内容添加后端服务器: http { #添加后端服务器,和nginx负载均衡配置一样 upstream nodejs { server 127.0.0.1:8080; ... >>详细
- 【firefox】firefox浏览器不支持innerText的解决
- 【Extjs】Extjs学习过程中新手容易碰到的低级错误
- 【dom】javascript dom追加内容实现示例-追加内容
- 【checkbox】让checkbox不选中即将选中的checkbox
- 【Array】js中更短的 Array 类型转换-类型转换
- 【append】append和appendTo的区别以及appendChil
- 【ExtJs】ExtJs 表单提交登陆实现代码-表单提交-
- 【addClass】javascript自定义的addClass()方法
- 【Event】jquery下为Event handler传递动态参数的
- 【Ajax】jQuery 学习第六课 实现一个Ajax的TreeVi
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
