Heroku部署PHP應用
今天在51cto上看了一篇關於技術博文,不經意間看到了heroku這個雲平台,至於這個平台幹什麼的就囉嗦了。下面還是重點說說如何通過heroku來部署PHP應用。
hrerku官網:https://www.heroku.com/
一、基本操作
已經熟悉heroku的朋友可以略過這步了
- 首先註冊一個帳號一個heroku帳號
註冊完畢登陸到heroku,然後直接進入到管理後台,然後點擊左側菜單的”Personal Apps”,進入到如所示頁面,點擊右上的”+“號按鈕,選擇”Create new app”
進入建立app頁面填寫app名稱和選擇伺服器所在地,根據app名稱會產生一個 項目web地址: https://myapp-one.herokuapp.com/ ,如所示步驟:
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 add -A$ git commit -m "init myapp-one"
- 在工程目錄下建立一個composer.json檔案,內容為{}即可,然後需要提交到項目中
$ echo "{}" > composer.json$ git add composer.json$ git commit -m "add composer.json"
$ heroku buildpacks:set https://github.com/heroku/heroku-buildpack-php
-在工程根目錄下添加Procfile檔案,用於設定項目執行的初始命令(非常重要,解釋下‘php -S 0.0.0.0:PORT?tsite/api/html′這個就是php5.4之後自帶的webserver,用?S啟動,0.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
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
').text(i)); }; $numbering.fadeIn(1700); }); });
以上就介紹了Heroku部署PHP應用,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。