生產環境 LAMP 和 LNMP 大家是編譯安裝還是 yum/apt-get 安裝?
01-22
客戶全要新版本,我給客戶 VPS 編譯裝好了 LAMP,老大知道後不贊成,說生產環境大多直接裝。我想知道下行情。老師在校時可是超鼓勵我們編譯安裝各種服務。
具體情況具體分析,真的,兩種方式都有存在的價值,並且廣泛用於不同場合。系統管理員是什麼身份,跟用戶之間是什麼關係都不同。
但就題主的那個例子,顯然應當用發行版自帶的版本,對 VPS 來說,客戶才是管理員,客戶的 VPS 你直接幫人家去編譯軟體,那將會是你售後服務的夢魘。這裡的正解應該就是你只負責安裝發行版自帶軟體,需要什麼別的,都由客戶自己去編譯,因為他自己才是管理員——你,只是裝機商。生產環境下一般是自己編譯,機器少就直接編譯,機器多就自己打包rpm然後放到內部的yum源上去。
為啥要自己編譯那。。。。那是因為幾乎所有的部署多多少少都要定製,比如php需要各種少見插件,需要解密器。nginx需要載入一些插件。而yum的有的情況下沒有,從網上找來的源到處都是不說,關鍵是裡面很多包版本不對,坑很多。機器多的話就打包好rpm,放到內部yum上,然後向所有機器推送安裝命令,一些複雜的可能更麻煩些。如果是新機器有些同行使用sd卡或者usb dom盤等當系統盤(現在主板一般有嵌入式支持,dell的新機器還能對sd卡做raid1,甚至有的就是拿個普通u盤,甚至是usb2.0的,那種機器開機特別特別特別特別特別特別特別慢,簡直心塞,一些xen,kvm雲主機就這麼干,sd卡和usb3.0的盤就沒這麼難受,不心塞),這種情況下一般是針對不同配置打包鏡像,然後做一堆sd卡和u盤,然後機器來了一個一個往裡面插,插完了就是上架,插線,交換機配好(部分配置用把槍就是那種超時條碼槍掃mac和機器串號),包括配網啥的都是不用人工搞的,然後開機後等著管理端機器上線,看到後再統一推送一些差異的配置(有人還用jenkins干這事。。。雖然我感覺挺不合適的)。
再有一些機器太多的,已經裝好環境,還會裝吧環境搭建和維護升級放到持續打包和持續發布等過程里,依賴各種亂七八糟的開源或者自己開發的程序,這個各家有各家的手段,但是無非就是省事、方便、發布快、可控、便於統計。
如果你東西不複雜,性能沒要求,不需要奇葩插件,不需要定製,那就yum把沒啥不好,不過注意一下bug,別有的依賴的包出了bug,而你yum的時候還是用了老的,容易悲劇,另外yum的話別忘了改下配置啥的,很多yum裝的包默認配置都挺奇葩的,需要改改,要不用起來就各種坑了。自己編譯的話可控性更好,比如開關各種特性等,用包管理器裝好的更方便管理,而且特性比較統一,維護方便。生產環境一般都包管理器吧
需要定製的 編譯其餘一切 yum /apt-get
還是編譯安裝吧,可控性比較強
yum安裝就行了,比較簡單一些
我喜歡編譯安裝最新版本。
各有利弊,我們是打自己的Package包。其實是一樣的。
編譯一個版本,然後再批量傳到生產環境也可以。
反正生成環境用的系統通常都是一致的。
gentoo portage自定編譯參數安裝
自己弄的哦,這樣可以控制。 公司不會用yum的吧 一般
推薦閱讀: