多年草根站長,目前還是斷斷續續一直從事這一塊。之前一直是自己搭建,各個環節自己部署,遇到沒見過的報錯或者故障只是自己摸索和搜索來解決。現在的集成軟體越做越強大了,功能也很多,像一些之前只能自己手動變換的功能現在都可以自動處理了。想知道生產環境下現在還需要手動搭建嗎?PHP確實是各種組合各種問題搭配起來很費時費力,但本人一直的做法都是要熟悉了自己的每一個步驟,知道了哪裡寫了什麼東西哪裡開了什麼服務,總感覺這樣才踏實。請問各位大佬,是否這種做法過時了,集成的環境功能強大又方便管理,我的這種做法是不是落伍了。


Linux上還是建議使用apt這類系統自帶的包管理器來安裝和管理PHP服務。

如果開發時需要使用最新版本,可以使用XAMPP這類LAMP環境打包。

比較進階和複雜的做法就是自己安裝編譯工具和依賴庫,從源代碼構建PHP環境。我一般都這樣做,這樣做可以體驗比如PHP8這些還沒有正式發布的alpha和beta版本。


國人的慎用,比如某塔,老外的相對比較放心。另外找開源的會稍微好點。

自己配置也是可以的,用docker也不錯,有很多選擇


建議使用Docker。

我曾經買了雲伺服器後,第一件事就是一步一步安裝環境,確實很麻煩,後來使用各種自動化腳本安裝,但多環境管理起來還是費勁。

現在安裝機器,只安裝一個 Docker,如果用的比較頻繁,就再裝個 oh my zsh。

使用 Docker 不僅可以處理各種服務常駐內存的問題,還可以任意修改鏡像內的環境。


hyperf/hyperf?

github.com圖標

反對生產環境自己從頭在裸機搭建環境。而應該使用Docker基於公共PHP鏡像,編寫定製的Dockerfile,創建自己的PHP鏡像。

並不是在裸機上搭建環境就能顯得技術牛,並不是使用集成環境就能影響對PHP的理解。

線上環境要有工具意識,要流程化、版本化、可擴展、易維護,在裸機上安裝兩個不同版本的PHP都容易出問題。現代化的PHP從業者應該使用現代化工具,比如Docker、Kubernetes。

具體實施上,單機部署非常推薦用docker-compose,所有依賴的服務,如mysql、redis、nginx和php-fpm,甚至需要經常運行的命令,可以在一個docker-comopse.yml定義。定義好docker-compose.yml之後,創建systemctl的service,用於一鍵啟動、中止服務。

集群部署用kubernetes。

PHP從業者啊,去擁抱現代化的技術,從舊世界的偏執中解放吧!

PHP那麼遭人恨嗎??

www.zhihu.com圖標

當然可以自己搭建,自己搭建的可配置性高,想裝什麼組件、裝哪裡都由你自己決定。自己搭建的好處是可以學習到這個軟體的一些工作原理,比如它調用了什麼東西,需要哪些系統組件來支持它運行等等。這個做法並沒有落伍,完全看個人愛好。

但是如果你想要避免搭建過程中踩坑,或者比較急著需要用到的話,可以用一鍵環境,作為一個有 6w 用戶網站的站長表示用環境包並沒有什麼丟人的,畢竟環境是給自己用的,怎麼舒服怎麼來,無毒無害就行了。

這裡推薦下我常用的建站環境部署工具吧

Linux 系統:推薦 OneinStack(OneinStack 官網),用過一次就再也不想用其他的環境搭建工具了,它比 LNMP 更爽,部署環境一條命令就夠了,網頁上選擇好自己要裝的軟體,複製命令,粘貼進 SSH 里基本就不用管了,去倒杯茶看看番,等十幾分鐘到半個小時左右回來就裝完了。

Windows 系統:推薦 PhpStudy,雖然我不用 Windows 搭網站,不過這個軟體在我早期學習建站的時候留下的印象挺不錯,可以考慮。建議下載老版本,新版本花里胡哨的覺得有點累贅。

學好了環境搭建技能也是有幫助的,比如遇到集成環境沒法安裝的情況,自己手動編譯就很重要了,比如我在樹莓派上就沒法用 OneinStack,只能自己手動編譯,不過還是有很多東西可以借鑒一鍵環境的,比如 configure 參數,所需要的依賴包等等,基本上一鍵環境都會幫你準備好,只需要複製粘貼一下,根據情況修改就行了。

無論什麼方法都沒有過時和落伍一說,都是怎麼順手怎麼來,看自己喜歡,不用在意這些。


以前我也是一個草根站長,經常幻想如果通過自己『牛逼』的技術去開發出款屬於自己的獨一無二的產品,然後通過產品去獲得盈利。

為了這個產品網上很多現成的源碼我都沒有去使用,而是自己一步一步地開發。中間斷斷續續,甚至都快放棄了,想到都碼了那麼多代碼了於是硬著頭皮去完成了這個項目。

上線了,又聽說某塔不安全於是我自己搭建LMAP環境又耗費了大量的時間,好的是項目終於是跑起來了。但是沒人來訪問我的網站,就自己和分享給幾個朋友訪問了,每天又忙於上班一直放著不知道怎麼運營。沒有運營就沒有訪問,沒有人訪問自己做起來也就沒動力了。

我想說的是如果作為一個草根站長,我們沒必要顧及什麼怎麼部署好不好或者是這樣安不安全。真的,怎麼效率怎麼來,時間是寶貴的更多的是如何去讓產品運營起來,若產品有流量了這些問題可以用錢解決。


我的觀點是,有些經驗的話,還是應該DIY

生產環境,官方下載源碼編譯。記住一定要保留編譯語句(./configure .......)等下次使用。注意,升級大版本時,需要考慮有些擴展是否過期

我從來沒有用過別人做的安裝包,最大原因是,不知道是否帶有木馬後門


你說的是生產環境,那當然是自己搭建的好了,前提是你要自己會。

我碰到在生產環境用集成軟體的人大部分是不會自己搭建。他們更多的是關心業務能不能正常跑起來,安裝流程最好是按著筆記一行行的輸入命令能正常走完。如果不小心做了個誤操作,或是搞錯了一個配置,結果服務不正常了,他們大概率會選擇重新安裝。不出意外的話,這些伺服器上的 SSH 埠一定是 22,root 用戶還能遠程登錄。他們在新伺服器上一開始執行的命令也一定會是關閉防火牆和 SELinux 等安全功能,程序要進行讀寫的目錄許可權也永遠是 777。

但也不必排斥用集成軟體。即便我大部分情況下是自己搭建,但在以下情況下,還是會選擇安裝集成軟體:

  1. 硬體運算資源充足。
  2. 這台伺服器要提供給其他缺乏伺服器管理經驗的人來維護。

碰到那種只有 512M 的 VPS,跑幾個 PHP-FPM 進程都捉襟見肘,想裝集成軟體也沒法裝。

基礎的技術是不會落伍的。反觀看起來提供了各種強大功能,用起來方便的集成式軟體,卻總是在不斷的推陳出新。這兩個能力不是一個單選題,自己搭建是你的基礎能力,在其之上,在該用集成軟體的時候就用集成軟體,何樂不為?


開發環境用集成比較好,怎麼快怎麼辦,因為不用考慮運行效率、安全性等問題。

生產環境還是建議自己搭建(針對Linux伺服器),雖然麻煩了一點,但是更靈活,能搭建出更為理想的環境,軟體更新就更為方便,更易處理一些棘手問題。


都0202年了 直接docker 走起啊,怎麼編排就怎麼編排


作為一個老站長,不是應該把精力放在怎麼引流,怎麼變現,如何能生存下去這些痛點上嗎?

至於技術,順手就行,否則找個專職運維會比較舒適。


單個項目就集成軟體,多個項目就docker


肯定是自己搭建的好啊,你使用集成的,他們一般都把交互那塊都給封裝起來了,當你要做分散式、集群時,你會發現阻力會非常的大。


要不你就用Docker,要不你就自己從頭裝。

不要用奇怪的集成工具!

我前幾個月接到一個救火任務,一單位生產環境需要通過安全考核,好傢夥,一開全紅燈,好吧,更新打補丁什麼的吧。

結果人家用的寶塔,更慘的是用的Deepin……我不解釋了,反正懂的就懂。

又在線上生產中,加上沒有正經靠譜的運維,也不讓我從頭整環境,反正就編譯配置想辦法搞吧就。

浪費了我一整天。就這樣。


生產環境建議去自己搭建。

首先考慮到安全方面。

其次因為後期如果有需求可以自己調自己更改。自己搭建的環境配置什麼的自己清楚,集成的還要去拿出時間來看一些不必要的配置參數什麼的,有那個時間早就搭建出來了。

然後搭建的過程也是對自己技術的鞏固,如果部署一個服務你就集成軟體,沒多久你的技術就跟不上你的思維。


不關注 php 編譯 搞毛線php


對於新手來說建議使用集成環境,前人給到那麼好的資源咱要用起來。像知名的那幾款集成環境整體性能是非常優秀的。

對於老手來說,想自己折騰的,可以自己一個一個軟體安裝。

一開始可以折騰折騰,折騰累了,用集成環境吧。


看你這網站的重要程度,普通的資訊類網站,流量不高的情況下,採用快速構建工具。

對安全性、網站性能有一定要求的,可以自行編譯或者上docker。

最重要的,這套環境一定要熟悉,能快速定位到各種問題,並修復,用啥都一樣。


建議自己搭一遍 理解下環境的協作方式


這主要看熟悉程度了,如果很熟悉肯定優先是自己搭建了,如果不是很熟悉,遇到問題還要查詢,那就建議用集成的了


推薦閱讀:
相关文章