boxmoe_header_banner_img

欢迎来到Kunger的博客

加载中

文章导读

Heroku云平台部署PHP环境安装Typecho/WordPress


avatar
Kunger 2016年3月27日 2.06k

Heroku应该是非常早期就提供PaaS服务的云计算提供商了,记得很久以前就有在免费资源网站上看到过这个空间,但是当时这个空间还不支持PHP,所以就没有关注,近期有朋友问我能不能再Heroku上跑博客,我才发现Heroku已经支持PHP了.

目前来看Heroku应该也算得上是非常开放的云计算了,除了官方支持的几种语言外,服务器可以利用第三方Buildpack部署其他语言或者程序,非常的方便,但是如果想要自定义Buildpack看起来还是有一些难度的,至少我没有成功.这个空间应该是非常复杂的空间了,因为全部操作需要通过Heroku命令来完成,不支持SSH连接,没有FTP上传.但是作为云计算,Heroku的开放性绝对是名列前茅的.

要进行操作需要在本地上安装Heroku Toolbelt,以及你所要使用的环境.注意,你所需要的环境必须在本地安装,也就是说,如果要部署PHP环境,本地需要安装PHP,要部署JAVA,本地需要安装JDK.
Heroku的命令行基于Ruby,如果本地安装了Ruby就可以免去这一步了.(很多云计算都需要Ruby来执行命令行)若本地环境访问Ruby的镜像库不稳定,可以使用淘宝提供的镜像.

由于Windows的坑爹特性,跑PHP各种问题,于是这里建议使用自己的VPS或者IDE来运行环境.

首先要clone一个官方的PHP Buildpack使用 git clone https://github.com/heroku/heroku-buildpack-php.git

下载到本地后先删除目录里的requirements.txt,如果不删除,Heroku会把它识别成Python的Buildpack.

然后编辑composer.json,这里边要填上你需要的PHP版本,你需要的PHP拓展等等.

{
    "name": "heroku/heroku-buildpack-php",
    "description": "Toolkit for starting a PHP application locally, with or without foreman, using the same config for PHP/HHVM and Apache2/Nginx as on Heroku",
    "keywords": ["heroku", "foreman", "php", "hhvm", "apache", "apache2", "nginx"],
    "homepage": "http://github.com/heroku/heroku-buildpack-php",
    "type": "library",
    "license": "MIT",
    "authors": [
        {
            "name": "David Zuelke",
            "email": "dz@heroku.com"
        }
    ],
    "bin": [
        "bin/heroku-hhvm-apache2",
        "bin/heroku-hhvm-nginx",
        "bin/heroku-php-apache2",
        "bin/heroku-php-nginx"
    ],

#需要安装的PHP拓展 支持的拓展可以查看官方文档 https://devcenter.heroku.com/articles/php-support#extensions
#若需要HHVM环境,删除所有拓展后添加"hhvm": "^3.5.1",
  "require": {
    "php": "^5.6.0",
        "ext-bcmath": "*",
        "ext-memcached": "*",
        "ext-mongo": "*",
        "ext-xsl": "*",
        "ext-bcmath": "*",
        "ext-calendar": "*",
        "ext-exif": "*",
        "ext-ftp": "*",
        "ext-gd": "*",
        "ext-mysql": "*",
        "ext-sqlite3": "*",
        "ext-pdo_sqlite": "*",
        "ext-xmlrpc": "*",
        "ext-xsl": "*"
  }
}

修改完本文档后确保本地有PHP环境,以及composer命令,接下来执行composer update
如果本地环境和需要部署的环境不符,应该加入”–ignore-platform-reqs”来跳过环境检查.

接下来创建文件Procfile,写入以下内容:
web: vendor/bin/heroku-php-apache2 web/
注意,bin/heroku-php-apache2可以换为
“bin/heroku-hhvm-apache2”,
“bin/heroku-hhvm-nginx”,
“bin/heroku-php-nginx”
web/是网站根目录.

最后创建web目录,吧网站需要的所有文件,包括主题文件,插件等放进去,在Buildpack目录下执行Heroku命令
heroku create
来创建一个heroku应用,之后执行
git push heroku master
上传代码和Buildpack.
heroku ps:scale web=1
启动应用



评论(10)

查看评论列表
评论头像
香菇肥牛 2016年04月02日
哇, 网站右边那个小女孩插件是自己做的吗, 好厉害~
评论头像
坤哥 2016年04月02日
不是哟,这是伪春菜插件~
评论头像
福利岛 2016年04月06日
经过测试以后,你会发现无法push 各种百度都百度不到方法。。。
评论头像
坤哥 2016年04月07日
什么不能push。我已成功。
评论头像
Ryan 2016年04月06日
好久一段时间不用真云平台,真云平台还是挺不错的,能当个功能受限的vps
评论头像
坤哥 2016年04月07日
没有永久储存是个问题啊。。
评论头像
免费资源部落 2016年04月09日
我好像记得我之前有在这里评论过。
评论头像
Tter 2016年05月23日
管理员测试用
评论头像
坤哥 2016年05月23日
用于测试SMTP可用性。

发表评论

表情 颜文字
插入代码