如何部署一個 PHP 項目


PHP 項目的部署方式相對其他 Web 編程語言來說,是比較簡單的。如果未使用一些守護類進程,只需要把最新的代碼更新到線上即可。這里總結了幾種常見的 PHP 項目部署方式。

ftp

FTP 是最簡單,也是最原始的項目部署方式。十多年前的虛擬主機還遠沒有現在雲主機這么豐富和強大的自定義功能。運行環境是服務商提前安排好的,提供一個幾百 M 或幾 G 的目錄空間。要把項目代碼放到線上的這個空間,只有 FTP 這個選擇。所以這也是那時 PHP 項目流行的部署方式。

Git

Git 通常是用來作為源碼管理工具,但其提供的事件鈎子(Hook)機制,讓 Git 功能擁有了無限擴展的可能。通過 Git 的 Hook 功能,可以在源碼 push 后,觸發指定的腳本,實現項目的自動化和及時部署。

Deployer

Deployer 是一個 PHP 的專業部署工具。這個工具有點類似於 Ruby 的 Capistrano。基於 SSH 協議,通過調用遠程服務器上的 Shell 命令來實現項目的自定義部署。其特點是部署時會用目錄的方式來區分和保留部署源碼的歷史版本,這樣可以實現線上部署版本的快速回退。同時支持自定義任務,這樣給項目部署提供了更大的靈活性。

Envoy

Envoy 同樣也是一個 PHP 的部署工具,是 Laravel 框架提供的一個官方組建包。跟 Deployer 一樣基於 SSH 協議。它沒有提供部署源碼的歷史版本功能。只是基於 Blade 模板功能提供了一套遠程 Shell 的操作語法,實現對遠程主機的命令操作,來實現部署的目的。這有點像 Python 語言的 Fabric

在以上的部署方式中,FTP 目前應該屬於要淘汰的方式了。多人協作的項目中,用 FTP 部署完全就是一場爭奪戰。Git 比較適合業務不穩定,需要頻繁發布代碼的部署場景。Deployer 和 Envoy 原理上比較類似,但 Envoy 更加輕量,而 Deployer 更加專業。以上所有的部署方式僅適合中小項目和公司,當兩者達到一定規模,就需要更加復雜龐大的自定義部署平台了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM