国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 后端開發(fā) php教程 輕松部署PHP應(yīng)用程序與Deployer

輕松部署PHP應(yīng)用程序與Deployer

Feb 15, 2025 am 08:54 AM

>本文已針對最新的Deployer版本進(jìn)行了更新(截至2017年3月26日)。


自動化開發(fā)工作流程,包括測試,代碼樣式和系統(tǒng)檢查,是一種常見的做法。 部署自動化,將新的應(yīng)用程序版本轉(zhuǎn)移到生產(chǎn)也同樣重要。 方法范圍從手動FTP上傳到復(fù)雜的工具,例如Phing和Laravel的Envoyer。本文介紹了Deployer,這是一種強大的PHP部署工具。>

Easy Deployment of PHP Applications with Deployer

> Deployer的關(guān)鍵功能:>

Dewloyer是一種基于PHP的工具自動化PHP應(yīng)用程序部署。它支持SSH身份驗證,允許指定部署服務(wù)器,并使用
    >命令執(zhí)行已定義的任務(wù)。 通過管理版本并將服務(wù)器root鏈接到代表最新版本的目錄來實現(xiàn)
  • 零下的部署。這消除了部署期間服務(wù)器維護(hù)模式的需求。dep
  • >預(yù)滿了普通PHP應(yīng)用需求的任務(wù),并且存在于流行框架(Laravel,Symfony,yii,Zend)的預(yù)配置食譜。 任務(wù)允許恢復(fù)到以前的版本。current
  • >示例應(yīng)用程序:
  • rollback
  • >演示使用了部署到Digitalocean液滴的上一篇文章中的應(yīng)用程序。 源代碼可在github上找到(鏈接省略了,因為它在原始文本中沒有提供)。
。

>安裝:

> Deployer作為PHAR文件分布。下載并選擇將其移至系統(tǒng)的BIN目錄以獲取全局訪問(有關(guān)詳細(xì)信息,請參見文檔):

>服務(wù)器配置:

克隆演示存儲庫后,創(chuàng)建
mv deployer.phar /usr/local/bin/dep
chmod +x /usr/local/bin/dep
以定義部署步驟。 首先定義服務(wù)器。 基本用戶名/密碼身份驗證:

>指定服務(wù)器類型(登臺,生產(chǎn))將任務(wù)定位到特定環(huán)境:>

使用階段時,

deploy.php至關(guān)重要;否則,會發(fā)生錯誤。 注意:php 7允許組合

語句(
// deploy.php

server('digitalocean', '104.131.27.106')
    ->user($_ENV['staging_server_user'])
    ->password($_ENV['staging_server_password']);
)。

>

// deploy.php
use function Deployer\set;
use function Deployer\server;

set('default_stage', 'staging');

server('digitalocean', '104.131.27.106')
    ->user($_ENV['staging_server_user'])
    ->password($_ENV['staging_server_password'])
    ->stage('staging')
    ->env('deploy_path', '/var/www');
ssh身份驗證:

default_stage 建議生產(chǎn)useSSH密鑰驗證。 (如果需要,請參閱SSH密鑰設(shè)置指南。)use function Deployer{set, server};>

>默認(rèn)為>。 如有必要,自定義路徑:

> Deployer支持各種SSH連接方法,默認(rèn)為本機系統(tǒng)命令。
// deploy.php
use function Deployer\{set, server};

set('default_stage', 'staging');

server('digitalocean', '104.131.27.106')
    ->identityFile()
    ->user($_ENV['staging_server_user'])
    ->password($_ENV['staging_server_password'])
    ->stage('staging');

ssh2擴(kuò)展:identityFile() ~/.ssh/id_rsaPHP SSH2擴(kuò)展提供了替代方案。 安裝并啟用它,然后需要

package and setherzult/php-sshssh_type>

mv deployer.phar /usr/local/bin/dep
chmod +x /usr/local/bin/dep
(注意:

>不包括在Deployer PHAR中;您可能需要構(gòu)建自定義PHAR。)> herzult/php-ssh

yaml配置:

服務(wù)器可以在yaml文件()中定義,并使用

>:

加載 servers.yml serverList()

// deploy.php

server('digitalocean', '104.131.27.106')
    ->user($_ENV['staging_server_user'])
    ->password($_ENV['staging_server_password']);
任務(wù)定義:
// deploy.php
use function Deployer\set;
use function Deployer\server;

set('default_stage', 'staging');

server('digitalocean', '104.131.27.106')
    ->user($_ENV['staging_server_user'])
    ->password($_ENV['staging_server_password'])
    ->stage('staging')
    ->env('deploy_path', '/var/www');

任務(wù)是通過>命令執(zhí)行的(例如,

)。

dep示例任務(wù)可能會上傳文件,運行服務(wù)器命令等:>> dep deploy:staging

// deploy.php
use function Deployer\{set, server};

set('default_stage', 'staging');

server('digitalocean', '104.131.27.106')
    ->identityFile()
    ->user($_ENV['staging_server_user'])
    ->password($_ENV['staging_server_password'])
    ->stage('staging');
方法將幫助文本添加到任務(wù):

// deploy.php
    ->identityFile('path/to/id_rsa', 'path/to/id_rsa.pub', 'pass phrase')

>任務(wù)組織:desc()

// deploy.php
set('ssh_type', 'ext-ssh2');
// ...
>使用

鉤子將大型任務(wù)分解為較小的,可重復(fù)使用的任務(wù):

before零下降時間部署:after

# servers.yml
digitalocean:
  host: 104.131.27.106
  user: root
  identity_file: ~
  stage: staging
  deploy_path: /var/www/
>使用

符號鏈接指向>目錄中的最新版本以避免停機時間:

current常見的任務(wù)和食譜:releases>

> Deployer提供常見的任務(wù)和特定于框架的配方(Laravel,Symfony等)。 使用常見任務(wù)的示例:
serverList('servers.yml');

>為簡潔起見,省略了部署配方和常見問題解答的其余部分,因為它們在原始文本中得到了足夠的覆蓋。 關(guān)鍵概念和代碼示例已被解釋和重組,以清晰和簡潔,同時保持原始含義和結(jié)構(gòu)。 這些圖像保留在其原始格式和位置。>

以上是輕松部署PHP應(yīng)用程序與Deployer的詳細(xì)內(nèi)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

如何在PHP中實施身份驗證和授權(quán)? 如何在PHP中實施身份驗證和授權(quán)? Jun 20, 2025 am 01:03 AM

tosecurelyhandleauthenticationandationallizationInphp,lofterTheSesteps:1.AlwaysHashPasswordSwithPassword_hash()andverifyusingspasspassword_verify(),usepreparedStatatementStopreventsqlineptions,andStoreSeruserDatain usseruserDatain $ _sessiveferterlogin.2.implementrole-2.imaccessccsccccccccccccccccccccccccc.

我如何了解最新的PHP開發(fā)和最佳實踐? 我如何了解最新的PHP開發(fā)和最佳實踐? Jun 23, 2025 am 12:56 AM

TostaycurrentwithPHPdevelopmentsandbestpractices,followkeynewssourceslikePHP.netandPHPWeekly,engagewithcommunitiesonforumsandconferences,keeptoolingupdatedandgraduallyadoptnewfeatures,andreadorcontributetoopensourceprojects.First,followreliablesource

什么是PHP,為什么它用于Web開發(fā)? 什么是PHP,為什么它用于Web開發(fā)? Jun 23, 2025 am 12:55 AM

PHPbecamepopularforwebdevelopmentduetoitseaseoflearning,seamlessintegrationwithHTML,widespreadhostingsupport,andalargeecosystemincludingframeworkslikeLaravelandCMSplatformslikeWordPress.Itexcelsinhandlingformsubmissions,managingusersessions,interacti

如何設(shè)置PHP時區(qū)? 如何設(shè)置PHP時區(qū)? Jun 25, 2025 am 01:00 AM

tosetTherightTimeZoneInphp,restate_default_timezone_set()functionAtthestArtofyourscriptWithavalIdidentIdentifiersuchas'america/new_york'.1.usedate_default_default_timezone_set_set()

如何在操作系統(tǒng)(Windows,MacOS,Linux)上安裝PHP? 如何在操作系統(tǒng)(Windows,MacOS,Linux)上安裝PHP? Jun 20, 2025 am 01:02 AM

安裝PHP的方法因操作系統(tǒng)而異,以下是具體步驟:1.Windows用戶可使用XAMPP一鍵安裝包或手動配置,下載XAMPP并安裝,選擇PHP組件或?qū)HP加入環(huán)境變量;2.macOS用戶可通過Homebrew安裝PHP,運行相應(yīng)命令安裝并配置Apache服務(wù)器;3.Linux用戶(Ubuntu/Debian)可使用APT包管理器更新源后安裝PHP及常用擴(kuò)展,并通過創(chuàng)建測試文件驗證安裝是否成功。

我如何驗證PHP中的用戶輸入以確保其符合某些標(biāo)準(zhǔn)? 我如何驗證PHP中的用戶輸入以確保其符合某些標(biāo)準(zhǔn)? Jun 22, 2025 am 01:00 AM

TovalidateuserinputinPHP,usebuilt-invalidationfunctionslikefilter_var()andfilter_input(),applyregularexpressionsforcustomformatssuchasusernamesorphonenumbers,checkdatatypesfornumericvalueslikeageorprice,setlengthlimitsandtrimwhitespacetopreventlayout

如何使用session_destroy()在PHP中破壞會話? 如何使用session_destroy()在PHP中破壞會話? Jun 20, 2025 am 01:06 AM

要完全銷毀PHP中的會話,必須先調(diào)用session_start()啟動會話,再調(diào)用session_destroy()刪除所有會話數(shù)據(jù)。1.首先使用session_start()確保會話已啟動;2.然后調(diào)用session_destroy()清除會話數(shù)據(jù);3.可選但推薦:手動unset$_SESSION數(shù)組以清除全局變量;4.同時刪除會話cookie,防止用戶保留會話狀態(tài);5.最后注意在銷毀后重定向用戶,并避免立即復(fù)用會話變量,否則需重新啟動會話。這樣做能確保用戶徹底退出系統(tǒng),不留殘留信息。

什么是php(serialize(),Unserialize())中的數(shù)據(jù)序列化? 什么是php(serialize(),Unserialize())中的數(shù)據(jù)序列化? Jun 22, 2025 am 01:03 AM

thephpfunctionserize()andunSerialize()redustoconvertComplexdatStructDestoresToroStoroStoroSandaBackagagain.1.Serialize()

See all articles