• 1. 设置

    • 1.1 环境依赖
    • 1.2 Heroku 客户端安装
    • 1.3 登录
  • 2. 应用
    • 2.1 创建
    • 2.2 查看日志
    • 2.3 附加组件
    • 2.4 交互式 Shell
    • 2.5 定义 配置变量
    • 2.6 配置数据库
    • 2.7 Procfile

该部署笔记以部署 PHP 应用为例.

官方文档

1. 设置

1.1 环境依赖

以部署 PHP 应用为例, 本地环境依赖:

  • php

  • composer

    Heroku 使用 Composer 管理PHP应用的依赖, composer.json 用于表明项目是 php语言.

  • git

分别执行以下命令查看当前版本

php -v
composer -v
git --version

1.2 Heroku 客户端安装

下载安装 Heroku Cli

顺便官网注册一个 heroku 账号

1.3 登录

heroku login    # 输入 heroku 账号密码
heroku keys:add # 添加ssh公钥到 Heroku 上

2. 应用

2.1 创建

heroku create   # 远程创建新的 heroku app, 并在本地 git 添加对应的远程 git 仓库git push heroku master  # git 推送到远程仓库heroku ps       # 查看当前应用有几个实例
heroku ps:scale web:1 # 应用实例伸缩, "web" 是在 Procfile 中定义的对应应用heroku open     # 在浏览器中打开实例

免费账号只能有一个实例

2.2 查看日志

heroku logs --tail

此处的日志是由应用输出到 stdoutstderr 中的内容.

2.3 附加组件

为防止滥用, 添加附加组件需要账号认证

…信用卡的意思

heroku addons               # 查看已安装的附加组件
heroku addons:create xxxx   # 安装附加组件
heroku addons:open xxxx     # 打开附加组件的web管理页面(如果有的话...)

2.4 交互式 Shell

可运行 PHP 的交互式 shell

heroku run "php -a"

heroku 的交互式 shell

heroku run bash

2.5 定义 配置变量

config vars(配置变量) 在应用运行时是以 环境变量 形式暴露给应用.

heroku config   # 查看当前配置变量
heroku config:set XXX=XXXX  # 定义配置变量

$_SERVER 的输出, 若执行 heroku config:set TEST_VAR=20, 则会在下面输出出来(Line: 10)

array ('COMPOSER_BIN_DIR' => 'vendor/bin','DOCUMENT_ROOT' => '/app/web','HEROKU_PHP_HTTPD_CONFIG_INCLUDE' => '/app/vendor/heroku/heroku-buildpack-php/conf/apache2/default_include.conf','DYNO' => 'web.1','PATH' => '/app/.heroku/php/bin:/app/.heroku/php/sbin:/app/.heroku/php/bin:/app/.heroku/php/sbin:/app/.heroku/php/bin:/app/.heroku/php/sbin:/app/.heroku/php/bin:/usr/local/bin:/usr/bin:/bin:/app/vendor/bin','WEB_CONCURRENCY' => '4','PWD' => '/app','COMPOSER_VENDOR_DIR' => 'vendor','TEST_VAR' => '20','HOME' => '/app','SHLVL' => '2','PORT' => '11636','HEROKU_APP_DIR' => '/app','_' => '/app/.heroku/php/sbin/php-fpm','USER' => 'u24320','SCRIPT_NAME' => '/index.php','REQUEST_URI' => '/_server','QUERY_STRING' => '','REQUEST_METHOD' => 'GET','SERVER_PROTOCOL' => 'HTTP/1.1','GATEWAY_INTERFACE' => 'CGI/1.1','REDIRECT_URL' => '/_server','REMOTE_PORT' => '12702','SCRIPT_FILENAME' => '/app/web/index.php','SERVER_ADMIN' => 'you@example.com','CONTEXT_DOCUMENT_ROOT' => '/app/web','CONTEXT_PREFIX' => '','REQUEST_SCHEME' => 'http','REMOTE_ADDR' => '10.43.233.16','SERVER_PORT' => '80','SERVER_ADDR' => '172.17.77.62','SERVER_NAME' => 'polar-oasis-94232.herokuapp.com','SERVER_SOFTWARE' => 'Apache','SERVER_SIGNATURE' => '','HTTP_TOTAL_ROUTE_TIME' => '0','HTTP_X_REQUEST_START' => '1529897835941','HTTP_CONNECT_TIME' => '1','HTTP_VIA' => '1.1 vegur','HTTP_X_FORWARDED_PORT' => '443','HTTP_X_FORWARDED_PROTO' => 'https','HTTP_X_FORWARDED_FOR' => '218.66.157.218','HTTP_X_REQUEST_ID' => '775b1b7c-c679-44d6-9cf0-2280f2930b15','HTTP_ACCEPT_LANGUAGE' => 'zh-CN,zh;q=0.9','HTTP_ACCEPT_ENCODING' => 'gzip, deflate, br','HTTP_ACCEPT' => 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8','HTTP_USER_AGENT' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36','HTTP_UPGRADE_INSECURE_REQUESTS' => '1','HTTP_CONNECTION' => 'close','HTTP_HOST' => 'polar-oasis-94232.herokuapp.com','REDIRECT_STATUS' => '200','FCGI_ROLE' => 'RESPONDER','PHP_SELF' => '/index.php','REQUEST_TIME_FLOAT' => 1529897835.9442799,'REQUEST_TIME' => 1529897835,
)

2.6 配置数据库

附加组件市场 有大量免费的数据存储附加组件.

免费的基本都是限制存储量, eg. postgresql 免费的限制存储 10000 行

heroku addons:create heroku-postgresql:hobby-dev    # 添加 postgresql 的免费版

添加上述数据库组件后, 会往变量配置中添加如下数据库url地址:

使用: $dbopts = parse_url(getenv('DATABASE_URL'));

远程连接 postgressql

heroku pg:psql

2.7 Procfile

Procfile 文件用于定义进程类型并确定应用如何启动.

# apache
web: vendor/bin/heroku-php-apache2 web/     # web/ 是指定应用的根目录# nginx
web: vendor/bin/heroku-php-nginx web/       

[原创]Heroku 简单部署指南相关推荐

  1. 华为桌面云如何部署Linux,华为桌面云安装部署指南(19页)-原创力文档

    华为桌面云安装部署指南 技术创新,变革未来 前言 ⚫ 本章节将介绍桌面云的安装部署流程,结合实验手册具体的 操作步骤,帮助掌握桌面云的安装实施能力. 第1页 目录 1. 整体架构 2. 安装流程 第2 ...

  2. heroku创建linux主机,在 Heroku 上部署 Django 应用

    在 Heroku 上部署 Django 应用 Heroku是一个很棒的平台,它有很多的控件,并且搭建环境相对来说也比较容易.本指南中,我将一步一步指导你在Heroku平台上部署一个简单地Django应 ...

  3. 关键数据保险箱,AD RMS服务器部署指南

    关键数据的保险箱,AD RMS服务器部署指南<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:offi ...

  4. 01-Windows Server 2012 R2 远程桌面服务部署指南

    01-Windows Server 2012 R2 远程桌面服务部署指南 作者:马博峰 对于大部分的IT部门来说,服务器虚拟化并不是的IT首要挑战,而是越来越庞大的企业个人办公环境.企业内部的用户都希 ...

  5. ci/cd heroku_在Heroku上部署Dash或Flask Web应用程序。 简易CI / CD。

    ci/cd heroku First, we'll transform the animated scatter map built in my previous article into a bas ...

  6. ci/cd heroku_在GitLab上设置CI / CD以在Heroku上部署Python Flask应用程序

    ci/cd heroku Recently I came across a challenge to deploy a Python Flask web application to Heroku. ...

  7. apollo(阿波罗) 分布式部署指南

    apollo(阿波罗) 分布式部署指南 一.准备工作 1.1 运行时环境 1.2 MySQL 1.3 环境 1.4 网络策略 二.部署步骤 2.1 创建数据库 2.1.1 创建ApolloPortal ...

  8. heroku搭建mysql_在heroku上部署Flask应用程序并将其连接到颚数据库mysql数据库

    heroku搭建mysql By: Edward Krueger Data Scientist and Instructor and Douglas Franklin Teaching Assista ...

  9. 多节点OpenStack Charms 部署指南0.0.1.dev303--21--控制器备份和还原

    目录: 第一节 多节点OpenStack Charms 部署指南0.0.1.dev223–1--OpenStack Charms 部署指南 第二节 多节点OpenStack Charms 部署指南0. ...

最新文章

  1. ar开发 ue4_Oculus计划将UE4“500万美元营收版权分成免除计划”扩展到UE5
  2. 对数线性模型之一(逻辑回归), 广义线性模型学习总结
  3. percona-xtrabackup工具实现mysql5.6.34的主从同步复制
  4. vue图片点击超链接_vue使用v-for实现hover点击效果
  5. shell中的比较(if运算)
  6. java 学习思路_Java的学习思路
  7. [蓝桥杯][2014年第五届真题]分糖果-模拟
  8. Unittest方法 -- 测试固件(TestFixture)
  9. OpenCV提取显示一张图片(或者视频)的R,G,B颜色分量
  10. 孔浩用的mysql工具_孔浩Java教学系列视频教程
  11. 对ichartjs基于基于HTML5的开源图形组件画图的心得
  12. 【计算方法】数值积分
  13. 转载:技术文化和惨淡命运 —— 怀念中国雅虎
  14. vulhub漏洞复现- ActiveMQ 反序列化漏洞(CVE-2015-5254)
  15. 超级保镖计算机管理系统
  16. 中冠百年|个人如何理财收益最大
  17. 怎样删除*.sys文件
  18. android webview 播放视频总结,Android WebView 播放视频总结~
  19. linux删除配置信息,linux 配置信息
  20. Centos8桌面图标不显示问题

热门文章

  1. python由谁创造出来的_编程语言简史:都是谁在什么时候创造出来的呢?
  2. gta5nat严格怎么办_如何解决在游玩 GTA 在线模式时出现的 NAT 类型为“严格”(Strict)的错误...
  3. python数据可视化课程论文_Python数据分析与数据可视化选修课答案
  4. 【AIRFLOW】CROSS DAG 实例
  5. CCCC L2-007. 家庭房产 建图 XJB模拟
  6. Word 参考文献 引用 自动更新 引用字体格式批量改动
  7. 【计算机网络】第五部分 传输层(24) 拥塞控制和服务质量
  8. 媛姐有约×元杰 | 国产公链的初心与热爱
  9. Linux编程基础:第4章Shell编程 课后习题
  10. 公交/地铁出行测试用例点