在Heroku上部署MEAN
说明:个人博客地址为edwardesire.com,欢迎前来品尝。
Heroku是国外普遍使用大受好评的PaaS,支持Nodejs,基础服务(Nodejs+MongoDB)基本都是免费的。搭建MEAN框架也不怎么费劲。名字是'Hero'和'taiku(俳句)'的合体。我们先一起来读一读发音(her-OH-koo)好了。
准备工作
在github官网上下载GitHubSetup.exe,我们需要使用Git Bash进入到shell里头输入命令(与RSA公钥的有关)。RSA密钥的配置
Heroku支持RSA和DSA密钥格式,我们在安装好GitHub Windows客户端后,在/Users/user/下右键点击.ssh(没有就新建一个),打开Git Bash。如图,输入ssh-keygen -t rsa,确认路径,无需理会passphrase确确认(因为我已经有id_rsa密钥所以多了个覆盖确定)。
接着就是想公钥上传到Heroku了,这里使用
heroku keys:add添加密钥,如果成功应该会出现下图。
还有一些命令也许以后会用到,显示已有密钥
heroku keys,移除已有密钥heroku keys:remove 密钥名(从上个命令可以得到),移除所有密钥heroku keys:clear。最后我们只确定SSH是否能正常使用,输入命令
ssh -v git@heroku.com,如果出现下图的Authenticated to heroku.com就可以用git来同步代码了。
上传源码
在项目(最好没有.git文件夹)根目录添加一个能让Heroku识别应用入口的文件Procfile,里头输入web: node server.js。再右键点击空白,点击Git Bash进入Shell。输入
heroku login输入你的用户名和密码。接下来就是创建应用和数据库heroku create appName
heroku addons:add mongoLab
添加mongoDB的插件后还需要配置数据库信息。我们最好在mongolab新建一个用户来给应用使用,把项目的数据库配置修改为
mongodb://<dbuser>:<dbpassword>@ds051720.mongolab.com:51720/<dbname>再用git同步代码(这里就会覆盖掉以前git的配置咯)
git init
git add .
git commit -m "some messages"
再就是创建数据库的插件
heroku addons:add mongolab,最后使用命令git push heroku master,如果出现下图的Launching... done,我们就打开链接试试。
相关调试方法
当我们程序出错时,我们可以使用heroku logs --tail查看服务器的日志。一般在本地能正常运行,放在平台上就应该只是配置问题了。
在Heroku上部署MEAN的更多相关文章
- 在Heroku上部署Node.js应用
最近在学习Node.js,想找一个可以免费部署Node的平台,于是便找到了Heroku 直接进入主题,接下来我们一步一步部署自己的Node应用. 步骤1: 注册一个免费的Heroku账号. 步骤2: ...
- 在heroku上部署gost代理服务端
gost ( https://github.com/ginuerzh/gost ) gost 的 websocket tunnel 功能使用 WebSocket 协议,相较 HTTP 协议能做更多事, ...
- 如何查看在Heroku上部署了那些站点
使用以下命令查看 Heroku 站点地址: $ heroku domains 例如: http://peaceful-springs-94972.herokuapp.com/signu ...
- 通过Mono 在 Heroku 上运行 .NET 应用
英文原文:Running .NET on Heroku 中文原文:在 Heroku 上运行 .NET 应用 自从加入了Heroku之后,我就想在这个平台上运行.NET程序.现在我很高兴向大家宣布,我们 ...
- 三步将Node应用部署到Heroku上
Heroku是一个提供快速部署服务的云平台.支持Node,Ruby,Java,PHP,Python,Go多种语言,今天体验了下,简直不要太爽.下面简单的介绍一下. 首先还是要注册一个账号:https: ...
- 三步将Node应用部署到Heroku上 --转载
Heroku是一个提供快速部署服务的云平台.支持Node,Ruby,Java,PHP,Python,Go多种语言,今天体验了下,简直不要太爽.下面简单的介绍一下. 首先还是要注册一个账号:https: ...
- Flask 教程 第十八章:Heroku上的部署
本文翻译自The Flask Mega-Tutorial Part XVIII: Deployment on Heroku 这是Flask Mega-Tutorial系列的第十八部分,我将在其中部署M ...
- [原创]Heroku简单部署指南
目录 1. 设置 1.1 环境依赖 1.2 Heroku 客户端安装 1.3 登录 2. 应用 2.1 创建 2.2 查看日志 2.3 附加组件 2.4 交互式 Shell 2.5 定义 配置变量 2 ...
- 删除heroku上的数据库记录
部署本地项目到heroku上.在线上插入数据到数据库,本地代码再次更新到heroku,线上的数据记录还存在单是图片丢失.问题还没有解决: 本地代码和heroku代码怎样同步? heroku使用的pg和 ...
随机推荐
- Android Handler之Message传递参数
最近发现Message,发送消息可以传递参数,这个思路很好,所以写了一个例子,点击屏幕,给Activity发送一个消息,传递两个参数,并把这个activity销毁掉! 程序打开界面: 点击屏幕,销毁a ...
- 机器学习 —— 概率图模型(Homework: Exact Inference)
在前三周的作业中,我构造了概率图模型并调用第三方的求解器对器进行了求解,最终获得了每个随机变量的分布(有向图),最大后验分布(双向图).本周作业的主要内容就是自行编写概率图模型的求解器.实际上,从根本 ...
- 【c/c++】内存分配大小
测试平台:linux 32位系统 用sizeof()运算符计算分配空间大小.单位:字节 1. 数组名与变量名的区别 int main() { char q[] = "hello"; ...
- Zookeeper核心机制
(如果感觉有帮助,请帮忙点推荐,添加关注,谢谢!你的支持是我不断更新文章的动力.本博客会逐步推出一系列的关于大型网站架构.分布式应用.设计模式.架构模式等方面的系列文章) Zookeeper是Hado ...
- uboot---linux
01uboot是没有虚拟地址的 02内存映射是linux内核的机制,也就是从实地址到虚拟地址是linux完成的! -----
- Android开发之获取状态栏高度、屏幕的宽和高
转自:http://blog.csdn.net/guolin_blog/article/details/16919859 获取状态栏的高度. private static int statusBarH ...
- Spring学习8-Spring事务管理
http://blog.sina.com.cn/s/blog_7ffb8dd501014e0f.html Spring学习8-Spring事务管理(注解式声明事务管理) 标签: spring注 ...
- cf 151 C. Win or Freeze (博弈 求大数质因子)
题目 题意: 给一个数N,两人轮流操作每次将N变为一个N的非1非自身的因数,第一个无法进行操作的人获胜问先手是否有必胜策略,如果有的话在第二行输出第一步换成哪个数,如果第一步就不能操作则输出0数据规模 ...
- Java Web编程的主要组件技术——Struts核心组件
参考书籍:<J2EE开源编程精要15讲> Struts配置文件struts-config.xml Struts核心文件,可配置各种组件,包括Form Beans.Actions.Actio ...
- OK335xS psplash Screen 移植
/*********************************************************************** * OK335xS psplash Screen 移植 ...