Heroku部署PHP应用

来源:互联网 发布:淘宝二手手机店铺推荐 编辑:程序博客网 时间:2024/05/17 09:11

Heroku部署PHP应用

今天在51cto上看了一篇关于技术博文,不经意间看到了heroku这个云平台,至于这个平台干什么的就啰嗦了。下面还是重点说说如何通过heroku来部署PHP应用。

hrerku官网:https://www.heroku.com/

一、基本操作

已经熟悉heroku的朋友可以略过这步了

  1. 首先注册一个账号一个heroku账号
  2. 注册完毕登陆到heroku,然后直接进入到管理后台,然后点击左侧菜单的”Personal Apps”,进入到如下图所示页面,点击右上的”+“号按钮,选择”Create new app”

  3. 进入创建app页面填写app名称和选择服务器所在地,根据app名称会生成一个 项目web地址: https://myapp-one.herokuapp.com/ ,如下图所示步骤:

  4. app创建完成之后会看到如下所示的界面:

    如图所示,app页面会有5个标签导航

    • Resources
      放的是项目配置信息和第三应用(数据库什么的)
    • Deploy
      这里告诉你该怎么部署你的应用,也是后面重点讲到的
    • Metrics
      表示目前项目的状态
    • Activity
      就是部署操作的日志
    • Access
      项目所有者
    • Settings
      项目设置,比如修改项目名称,项目git地址信息、删除等

二、部署PHP应用

以上基本操作了解和准备完成之后可以来说本文的重点了,如何部署PHP应用

  • 打开创建的 应用,以我这里创建的myapp-one为例,点击“deploy”标签,然后如下图所示 ,默认是使用heroku git,也可以是github或者dropbox,今天重点讲heroku自带的git部署操作,其实下面已经大概如何操作介绍了,我就翻译下:
  • 下载heroku命令行工具,根据不同平台会有不同的版本供下载 下载完成,安装之后,进入到你的终端,输入如下命令,输入之后回车提示您输入注册邮箱和密码,登陆成功会有成功提示
$ heroku login
  • 登陆成功后进入到你要部署的工程目录,初始化git和设置git项目地址
$ git init$ heroku git:remote -a myadd-one # 或者 $ git remote add heroku https://git.heroku.com/myapp-one.git
  • 完成之后提交项目到git
$ git add -A$ git commit -m "init myapp-one"
  • 在工程目录下建立一个composer.json文件,内容为{}即可,然后需要提交到项目中
$ echo "{}" > composer.json$ git add  composer.json$ git commit -m "add  composer.json"
  • 设置heroku的php构建工具包
$ heroku buildpacks:set https://github.com/heroku/heroku-buildpack-php

-在工程根目录下添加Procfile文件,用于设置项目执行的初始命令(非常重要,解释下‘php -S 0.0.0.0:PORTtsite/api/htmlphp5.4webserverS0.0.0.0访PORT是端口(不用改),-t表示docroot,如果启动web目录在根目录可不写,如果在子目录,写上相对路径即可如site/api/html ),

$ echo " web: php -S 0.0.0.0:$PORT -t site/api/html  " > Procfile$ git add  Procfile$ git commit -m "add Procfile to start program"
  • 最后执行如下,命令,部署项目到线上
$ git push heroku master #部署项目,每次修改了也要执行这个命令$ heroku open # 打开项目,其实就是用浏览器访问当前web应用

以上本人亲自尝试配置成功过程,如有遗漏,还请包涵

具体参考官方文档如下:

PHP部署官方说明: https://devcenter.heroku.com/articles/getting-started-with-php#introduction

Heroku PHP 构建包地址: https://github.com/heroku/heroku-buildpack-php

heroku命令行工具使用说明: https://devcenter.heroku.com/categories/command-line

0 0