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)条网友点评
哇, 网站右边那个小女孩插件是自己做的吗, 好厉害~
@ 香菇肥牛 不是哟,这是伪春菜插件~
经过测试以后,你会发现无法push 各种百度都百度不到方法。。。
@ 福利岛 什么不能push。我已成功。
好久一段时间不用真云平台,真云平台还是挺不错的,能当个功能受限的vps
@ Ryan 没有永久储存是个问题啊。。
我好像记得我之前有在这里评论过。
管理员测试用
@ Tter 用于测试SMTP可用性。