在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和 ...
随机推荐
- PHP Warning: date(): It is not safe to rely on the system's timezone settings.
OSSEC安装结束后运行,运行以下命令却抛错 cat /opt/ossec/logs/alerts/alerts.log 具体抛错内容: ** Alert 1468897672.2164786: ma ...
- Android设置TextView显示一行或多行
在listView的item中或者是特殊的业务需求中,会要求TextView的内容不完全显示,只有通过一个指定的操作后才显示所有的,比如说一个按钮或者是其它的什么控件. 要想实现这个效果并不难,只要控 ...
- Android Navigation Drawer,自定义ActionBar(标题居中)
整个示例都是改造自 Google Android Training 中的 NavigationDrawer 示例(http://developer.android.com/training/imple ...
- 转:Servlet的url匹配以及url-pattern详解
Servlet是J2EE开发中常用的技术,使用方便,配置简单,老少皆宜.估计大多数朋友都是直接配置用,也没有关心过具体的细节,今天遇到一个问题,上网查了servlet的规范才发现,servlet中的u ...
- 宏UT_LIST_ADD_FIRST
/*******************************************************************//** Adds the node as the first ...
- POJ 3090 (欧拉函数) Visible Lattice Points
题意: UVa 10820 这两个题是同一道题目,只是公式有点区别. 给出范围为(0, 0)到(n, n)的整点,你站在原点处,问有多少个整点可见. 对于点(x, y), 若g = gcd(x, y) ...
- textview设置字体的行距和字间距
字间距 textView有一个属性android:textScaleX是调节字间距的,它的值是一个float型.查看源代码,默认textView 此属性是使用的是: android.internal. ...
- Linux网络相关查询脚本
1. 查看TCP连接状态 netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rnnetstat -n | awk '/^tcp/ {++S[$NF]} ...
- 安装--SambaServce
参考地址:快跑蚂蚁的linux之旅--redhat安装配置samba实验win共享linux主机目录 1.使用rpm -qa|grep "samba",查看samba安装包是否安装 ...
- 【html】页面制作规范文档
每天都在写html/css/js代码,总结的一些页面制作的规范 文件命名规范 1) 文件目录.文件名称统一用小写的英文字母.数字.下划线组合,文件名要与表现的内容相近,不到万不得已不要以拼音作为名称, ...