DE{CODE}:使用本地站點部署的最佳實踐
已發表: 2023-02-12雖然讓網站上線的方法沒有錯,但本次會議將介紹將網站從本地環境部署到生產環境的各種選項。 加入獨立講師和 Web 開發人員 Carrie Dills,她將介紹一些本地工作流工具,並介紹為什麼您可能會根據您的團隊、工作流和站點詳細信息選擇一種部署方法而不是另一種部署方法!
會議幻燈片
全文抄本
凱莉·迪爾斯:你好。 歡迎使用 Local 站點部署最佳實踐。 因此,作為一名專業的 Web 開發人員,您已經熟悉在本地計算機上開發站點然後將它們部署到實時服務器與實際在實時服務器上進行開發的想法。 在設置本地開發環境時,有很多選擇。 你有 MAMP 或 WAMP 或 XAMPP 或 DesktopServer。
為此,您可以使用許多不同的工具。 我個人最喜歡的是 LocalWP。 這是免費送貨——對不起。 它稱為 Local,但可在 localwp.com 上獲得。 它是一個免費的開發工具。 它真的很容易設置,除了作為本地站點開發的地方之外,它還有一些用於部署站點生活的選項。 但對於您的工作流程,它還有很多其他好處,例如路由 SSH 訪問、WPCLI、一些內置的緩存破壞,甚至像一鍵式 SSL。
所以如果你已經有了這個,那麼你就可以開始了。 如果沒有,那沒關係。 因此,在我們甚至討論進行部署的方法之前,讓我們備份總線並討論在遷移 WordPress 站點時實際涉及的內容。 因此,將其視為兩件事。 你有你的文件,你有你的數據庫。 當我們談論遷移站點時,我們只是在談論將這兩件事轉移到目標服務器上。 知道了?
好的。 因此,如果您破解打開 WordPress 安裝或者重新下載 WordPress 並打開它,您會看到三個主要文件——或者對不起,文件夾、WP Admin、WP Includes 和 WP Content,以及一些該根目錄中的文件。 現在為了遷移的目的,假設您的目標服務器已經安裝了 WordPress,您只關心 WP Contents 文件夾。 所以這將保存您的主題、插件以及您通過 WordPress 管理員完成的任何上傳。 如果您已上傳媒體文件,它們也將實際包含在該 WP Content 文件夾中。
所以考慮到這一點,我們有文件,我們有數據庫。 讓我們檢查一下實際推進遷移的選項。 好的。 如果你願意和我一起乘坐你的時間機器,我相信無論你在哪裡看這個,你都坐在旁邊。 繼續,跳上那台時光機,我們將回到所謂的 FTP 或文件傳輸協議。 我在問你——我在敦促你,請永遠不要使用 FT——
[笑聲]
–FTP。 如果必須,至少使用 SFTP 或安全文件傳輸協議,這會在文件移動過程中增加一層安全性。 或者您可能與具有 cPanel 的主機一起使用,其功能有點相同。 它是一個文件瀏覽器,您可以在本地服務器和實時服務器之間來回移動文件。 這是為了處理文件。 你就像,等等,嘉莉。 我記得你剛才說你也有一個數據庫要移動。 感謝你記得這一點。
因此,當涉及到數據庫時,如果您不習慣使用 MySQL 數據庫,這可能會讓人感到有點害怕。 而且,基本上,該過程是將本地數據庫導出為 gzip 文件。 您將下載它,然後在您的生產服務器上的數據庫管理器中,您將導入該數據庫。
[尖叫聲]
它有效,有效。 它完成了工作。 但是您可能需要使用 Better Search and Replace 之類的插件,將所有這些開發 URL 替換為您的實時 URL。 所以請記住這一點。
接下來,我們有遷移插件。 我們已經正式進入未來,並正在尋找更簡單的方法將網站從本地轉移到實時。 因此,當涉及到遷移插件時,WordPress 插件存儲庫中有大量此類插件。 我最喜歡的一些,All-In-One Migration、Duplicater 和 WP Migrate DB。
現在說到這些,它們將為您提供不同類型的幫助。 因此,與我們使用 cPanel 或 SFTP 看到的完全手動過程相比。 這些將做一些很好的事情,比如當它準備好你的數據庫時,它會繼續幫助你處理那個 URL——本地到實時 URL 交換。 它會為你打包文件,但你仍然需要在接收端對這些文件做一些事情。 這些插件中的每一個都以稍微不同的方式運行,但它們將幫助您完成本地化的過程。
現在,如果我沒有提到我最喜歡的插件 Migrate DB Pro,那我就失職了。 這是由 Brad Touesnard 和他在 Delicious Brains 的團隊創建的。 而這個插件的作用,其實就是一個批發部署插件。 因此,它將獲取您的文件和數據庫,讓您真正了解要移動的表,然後將它們推送到您的實時環境。 現在因為它是一個了不起的工具,它確實如此——你必須掏出你的錢包才能使用它。 但它可以節省大量時間。
但是你可能在想,嘉莉,我以為我們在談論本地。 我們正在談論本地。 我們過去不得不備份,查看遷移過程涉及的內容,然後對遷移站點的方法有一些想法。 現在 WP Migrate DB Pro 是驚人的。 但是當涉及到 Local 時,您還可以獲得本地開發環境。 但是等等,還有更多。 你會得到一個叫做 Local Connect 和 Magic Sync 的東西,這是一種從本地到現場進行一鍵式部署的能力。 如果您想拉動,它實際上也可以讓您轉向另一個方向。 但我們正專注於為此進行部署。
相處中唯一的障礙是 Local Connect 與兩個網絡主機一起工作,Flywheel 和 WP Engine。 現在我知道你們中的很多人可能已經有了這些帳戶。 棒極了。 如果您不這樣做,請不要害怕,有幾種免費方法可以嘗試這些方法。
所以 Flywheel,你可以創建一個新的演示站點,啟動它,用它來玩 Local Connect。 然後,類似地,使用 WP Engine,您可以創建一個免費的合作夥伴計劃帳戶,該帳戶附帶一個可以與 Local 連接的站點。
好的。 你們都準備好進行演示了嗎? 我聽到了一個響亮的肯定。 所以我要繼續進行演示。 當然,可能會出什麼問題?
[輕笑]
好的。 因此,當涉及到部署過程時,您必須要有一個要部署到的站點。 所以我在我的 WP Engine 帳戶區域。 我正在創建一個本地站點,我說這是一個暫存環境。 我們將繼續並添加它。 現在回到 Local,首先,我需要將 Local 連接到我的主機,在本例中是 WP Engine。
我要登錄,它給了我一些鏈接。 我要去訪問這個頂部鏈接。 這會讓我回到我的 WP Engine 帳戶,在那裡我可以生成我的憑據。 所以這給了我一個 API 用戶名和密碼。 讓我繼續複製它,轉到本地,粘貼它,然後對密碼執行相同的操作。 現在我們正在連接到 WP Engine。 您在這裡看到的是我在 WP Engine 上託管的所有網站的列表,這些網站現在可供我和本地使用。 請注意,我可以將這些直接拉到本地。 但是,我們在這裡再次談論另一個方向。
好的,到目前為止你和我在一起了嗎? 我們已經在我們的主機上創建了一個站點,我們將把本地站點發送到該站點,我們還將本地工具連接到 WP Engine。 好的,繼續前進。 現在是時候實際查看我在本地開發的網站了,它非常無聊,但我只想讓您看看它是什麼,以便我們在將它發送到上游時有上下文。
所以首先,我要將這個特定站點連接到 WP Engine。 然後單擊一下,boop。 它只會說您想將其發送到哪個站點,我將選擇我剛剛創建的本地演示站點。 您還可以直接推動暫存、生產或開發。 現在在這種情況下,我正在做分期。 您可以選擇包括是否要一起發送數據庫。 這是專業提示。 當我在本地開發時,有時我會變得非常懶惰並使用糟糕的用戶名和密碼。 請記住,當您將其推送到實時服務器時,您希望確保您使用的是安全的用戶名和密碼,即使這不是您的生產環境。
好的。 所以我們已經開始推動的過程。 這涉及上傳文件。 我們談到了移動文件
然後我們將去上傳那個數據庫,因為我們在我們的選項中選擇了數據庫。 它一定在大數據庫中。
[笑聲]
現在它正在執行我們提到的 URL 搜索和替換,它正在檢查數據庫表前綴以確保它是本地和實時之間的匹配。 因此,通過該部署過程,我什至可以在屏幕底部看到自上次部署以來的時間。 因此,讓我們回到我的 WP Engine 帳戶。 我要去打開我剛剛推送的那個網站。 如果我們訪問它,您會看到它是我們剛剛擁有的本地網站。 再一次,它不是什麼特別的東西,但就是這樣。 只是為了向您展示 URL 情況,您可以看到它確實更新了實時 URL。 太酷了。
好的。 還在我這兒? 回顧一下,到目前為止,我們已經使用了一個實時站點——或者對不起,我們在本地開發的一個本地站點。 我們已經在目標服務器上創建了一個站點。 我們已將本地連接到我們的 WP Engine 帳戶,並將特定站點連接到 WP Engine。 然後,瞧,按一下按鈕,它就完成了所有事情。 它正在替換 URL。 它正在破壞緩存。 它還會在此過程中進行備份,以防出現任何問題。 因此,使用本地部署是——非常簡單。 我第一次看到它,我被賣了。
現在,以防你沒有留下適當的印象——我希望你是。 但如果您不是,現在我想向您介紹一種叫做 MagicSync 的東西。 現在 MagicSync 是一個查看器,您可以在其中看到一個雙窗格窗口,您可以在其中查看本地站點上的文件並將它們與目標站點上的文件進行比較,並真正具體說明您要部署哪些文件。 讓我們來看看。
好的。 所以我回到了本地。 如果我轉到“本地首選項”,我可以為 MagicSync 切換一個按鈕。 然後打開它,然後繼續申請。 好的,現在我需要創建或添加一些東西到我現有的本地站點,以便我可以向您展示 MagicSync 的工作原理。 我將通過在我的本地 WordPress 安裝中添加一個主題來做到這一點。 我們將在 2021 年繼續。
沒關係。 再一次,只是向您展示一個如何工作的例子。 所以不需要激活。 所以回到 Local,我將再次單擊 Push。 這一次,您會注意到——哇,就是那個 MagicSync 窗口。 如果我們向下滾動,就會看到 2021 年的主題。 我們可以看到它存在於本地文件目錄中,如果我們推送它,它就會被添加到遠程環境中。
我們還可以看到如果我們推送它會被刪除的東西,這意味著該文件同時存在於本地和遠程。 因此,使用 MagicSync,您可以再次非常精細地了解要推送哪些文件。 現在您不必使用 MagicSync。 您可以對所有內容進行批發推送,這是一種方法。 與使用 MagicSync 僅通過您指定的文件發送文件相比,它只需要稍微長一點的時間。
所以回到 WP 引擎。 讓我們看看直播現場。 如果我去主題,我可以看到它。 2021 年的主題就在那裡。 這太酷了。 好的,這就是 MagicSync 的工作原理。 因此,再次重申,您可以將 MagicSync 作為部署過程的一部分使用,或者只堅持使用本地推送,這樣就可以了——效果也很好。 所以我希望您喜歡看到這樣做是多麼容易。
現在,如果您在執行任何這些操作時遇到問題,Local 有一個非常棒的社區支持論壇。 他們超級活躍。 所以如果你提出問題,你會在那裡得到答案。 並向 Clay Griffith 大聲喊叫,他實際上是 Local 的原創者。 他也是——你也會在論壇上看到他。
現在,如果您是 WP Engine 或 Flywheel 的付費客戶,您實際上可以獲得對 Local 和 Local Connect 的專門支持,這真的非常棒。 我從經驗中知道,這兩位主持人都有出色的支持團隊。
好的,讓我們回顧一下。 說到遷移,第一個選擇是什麼? 正確,SFTP 或 cPanel 以及手動數據庫遷移。 所以你要導出它,然後你必須導入它。 所以這將是進行部署的最手動方式。 接下來,我們有遷移插件,然後是一些數據庫助手,可以執行搜索和替換 URL 之類的事情,可以檢查我們的 WordPress 數據庫表前綴。
所以它更好——比舊的 SFTP 模型改進了很多,但它仍然不是 100% 一次單擊按鈕。 當然,最後一個,Local Connect 和 MagicSync 將您的文件和數據庫上傳到服務器,我敢打賭您可以分辨出我最喜歡哪個工具。
因此,如果您想繼續並開始使用,我很樂意邀請您從 localwp.com 下載 Local(如果您還沒有下載 Local Connect)並且 Local Connect 是一項完全免費的功能。 請記住,它僅適用於 Flywheel 或 WP Engine。 有幾種方法可以嘗試其中任何一個主機,只是試用一下 Connect 並感受一下它的運行情況。
好的。 因此,我非常感謝您的時間和關注,並祝您部署愉快。