新四季網

運行在阿里雲ECS上的PHP-FPM+Nginx

2023-03-31 16:30:25

貨櫃碼頭出現後,貨櫃技術在網際網路領域得到空前的普及。無論是大公司還是釣市初創公司,農民基本上都會在各種技術社區或各種演講會上學習相關技術。作為一個跳樓創業公司,我們也不例外。去年,我們做了一些關於Docker.Solution的事情,一年前測試了一些程序,今天我總結了在踐踏坑的過程中遇到的坑和一些想法,希望能給認識Docker並渴望嘗試的人一些啟示。當然,在這方面有豐富經驗的學生更歡迎提出一些建議或建議。  

我們項目的標準PHP技術棧:PHP-FPM+Nginx運行在阿里雲的ECS上,資料庫也是阿里雲的服務。  

從理論上講,對於一般的刁絲創投公司的刁絲項目來說,沒有必要使用過於複雜的技術,對新技術的約束也是大農的職業道德。在項目上線以來遇到的各種問題中,如上一篇文章中提到的laravel的性能問題,而HHVM或PHP7,這些新技術都提到性能,所有的突然切換風險都太大,因此可以使用Container運行一些服務測試;例如,以前有一個BUG,一個接口問題佔用了太多的內存,導致系統響應超時;例如,在看過其他人在各種技術會議上共享的經驗之後,我真的很想自己嘗試一下。  

根據Docker的哲學,每個容器都是一個獨立的服務,服務通過接口相互協作,採用的方案是PHP-FPM和Nginx分別在不同的容器中運行,PHP-FPM容器將埠暴露給Nginx容器。  

容器之間的網絡通信最初使用Docker自己的連結。雖然連結很簡單,但它不是很有用。Link是通過在啟動容器時修改/ETC/HOST文件來實現的。當時遇到的一個問題是,容器的IP在通過連結重新啟動之後發生了變化,但是容器中沒有連結。還有一個問題是,當同一個服務需要打開多個容器時,當然,如果它以集群方式運行,則更加困難,因此連結只能在本地開發、本地開發中發揮作用。領事做服務發現。領事不在這裡介紹。感興趣的學生可以閱讀這篇文章:使用領事和註冊官為碼頭貨櫃服務發現(https:www.livewyer.comblog201502service-discovery-docker-containers-u)。  

然後放在主機,和代碼的目錄是安裝在容器啟動。根據所使用的接口方案,接口分為幾個不同的容器中運行,和資源隔離的應力進行了測試。符合預期,很滿意。然後,我們選擇了兩個容器運行hhvm測試和性能真的提高了很多。整體結構如下圖所示:  

這可以正常使用,然後處理日誌。首先,主機上安裝了一個目錄來存儲日誌,但這與Docker的想法不太一致。所以我們得到了一個LogStash容器,並把各種容器的日誌寫入LogSTASH容器中。  

然後我們監控貨櫃。我們使用ONAPM服務,這並不壞。還有其他開源工具可供選擇,但使用ONAPM服務更方便。  

一個完整的技術堆棧已經建立,運行幾天沒有問題。當然,作為搜索者,有更高的要求。後來,我想到了一個問題:Docker的想法是容器是一個完整的服務,但是我們使用的是在容器中運行PHP-FPM,代碼不在容器中,而是通過目錄安裝來實現這一點。追求完美:完美之路  

事實上,把代碼放入容器不僅僅是為了思想的完美,而且為了另一個目的:基於DOCKER的CI。基本的想法是每一個版本都建立了一個新的圖像版本。在編譯過程中,代碼需要更新到最新版本,然後安裝依賴的第三方庫和其他與業務相關的預處理。構建完成後,推到註冊表,然後在每個節點下拉,重新啟動容器。整個過程  

怎麼樣這是完美的。如果現實是如此完美,但現實總是會有各種各樣的坑等待著你!  

首先,在使用這個機制之前,發布代碼、合併分支只需幾秒鐘,然後在每個節點下拉代碼。但是在使用DOCKER之後,合併分支需要建立一個鏡像,建立一個推送寄存器,然後把鏡面拉到每個節點,更不用說說了。它還需要幾分鐘。此時,一些學生可能會說DOCKER鏡像的原理不是層機制。是的,是層。每個構建只需要更新需要更新的層,但是仍然沒有辦法只更新那些像Git之類的文件,至少更新整個項目的代碼目錄。  

其次,我們之前只需要更新代碼,但現在我們需要重新啟動容器。最初,重新啟動容器非常快,但是PHP-FPM在容器中運行非常慢。我猜它會發送一個SigTalk的信號到貨櫃的過程中,當DOCKER停止執行。PHP-FPM在處理SIGTERM信號時會做一些清理工作,節點至少有幾十個容器,每個容器都會重新啟動,這很耗時。  

在使用完美機制之後,這種簡單的發布需要幾分鐘。儘管整個過程是完全自動的,但是沒有必要在完美理念上妥協。  

此外,還有一個非常奇怪的問題:當容器升級到1.10時,在容器啟動後經常會遇到埠不可通行。此時,如果您進入容器發起一個網絡請求,如IP低於ping時,埠將恢復正常。長期使用各種工具進行調試,仍然沒有發現問題所在,DiaosiPioneer公司也沒有精力研究這樣一個深奧的探索。萊姆,不得不暫時擱置一段時間。  

雖然沒有理想的完美解決方案,但是也使整個框架更加方便擴展,比如在交通高峰期快速上架的節點。由於近年來雲計算的發展,這個問題也更容易解決。ODE放置在主機目錄中,所以基本上每個主機只需要三個條件就可以上網:  

在購買ECS之後,完成上述操作以生成系統映像,當新節點需要聯機時,該系統映像可以直接用於配置伺服器。已被領事提及。  

DOCKER群將用於未來的集群管理。當對調度的需求很大時,可以嘗試使用Mesos或Kubernetes。然而,貨櫃的生態鏈發展很快,在需要時可能有更好的解決方案。  

簡單地概括整個感知過程,從體系結構的角度來看,永遠不會有完美的體系結構,只有最適合自己的體系結構。團隊對各種技術的理解以及技術選擇的複雜性。不要看幾個牛分享他們的技術架構,而是急於嘗試他們自己的項目。最後,即使他們做不到,也會給其他人留下一團糟去清理。最後,在迭代過程中保持項目簡單的能力始終是衡量代碼農民技術水平的一個重要標準。  

同类文章
 月球未解之謎有哪些?解密十大月球未解之謎

月球未解之謎有哪些?解密十大月球未解之謎

月球,地球的鄰居,它是環繞地球運行的一顆衛星。雖然我們每每在夜晚抬首時,可以看到月球的存在,但人類其實以月球真的很不了解。我們曾經寫過無數有關月球的詩詞,我們借月亮來抒發內心的感情,但我們卻很少以科學的態度來看待月亮,比如我們有誰去主動的了解月球未解之謎有哪些嗎?如果還不夠了解的話,今天就隨著小編一
 超乎理論30倍的超巨型怪物黑洞

超乎理論30倍的超巨型怪物黑洞

天文學家最近在一個有90億歲的星系中央發現一個超巨型黑洞,但黑洞比現時已知理論所容許的大近30倍,完全超乎想像,連天文學家都嚇得目瞪口呆。超乎理論30倍的超巨型怪物黑洞美國太空總署在2011年以史匹哲望遠鏡,在20億光年外發現星系 SAGE0536AGN,英國基爾大學和中央蘭開夏大學利用南非大望遠鏡
 科學新發現六:超級鑽石

科學新發現六:超級鑽石

基本信息中文名稱科學新發現六:超級鑽石製片地區中國類型紀錄片 片長46分鐘對白語言英語目錄1影片信息2影片簡介摺疊編輯本段影片信息電影名稱:國家地理:科學新發現六:超級鑽石電影類型:紀錄片影片時長:46分鐘影片語系:英語影片字幕:繁中字幕摺疊編輯本段影片簡介鑽石是世界上硬度最高的物質,千百年來鑽石一

地球上的水用完了怎麼辦?可以去別的星球拿

地球上的水並不是無窮無盡的,雖然地球上的水含量很高,但如果有一天淡水資源枯竭了怎麼辦?有人說有海水呀,海水轉化成淡水當然是可以的,小編這裡說的地球水用完是理論上的哈。要是真有那麼一天的話,人類會不會滅亡?答案是否定的,即使地球上的水用完了,我們可以到別的星球去拿,或者是移民到別的星球去。真的有這種星
 「超人」的故鄉氪星真的存在嗎?

「超人」的故鄉氪星真的存在嗎?

在超人漫畫的故事裡,超人因為故鄉氪星發生爆炸毀滅,所以來到地球,不過這個虛構的漫畫情節,最近有突破性發展,因為有天文學家真的發現了氪星的太陽,不但距離地球夠近,這顆母恆星壽命也比太陽系長,有機會發展出像超人這樣高等文明生物。「超人」的故鄉氪星真的存在嗎?美國自然歷史博物館海登天文館館長Neil de

科技之謎:為什麼時光不能倒流?

如果時光能倒流,我將回到曾經……可是這只是『如果』,關於時間的研究,人類已經進行了很多年,可以關於時光倒流一說,至今也沒有一個確切的答案。現在科學界主流的認識是,時光是不能倒流的。那麼這是為什麼呢?下面我們來看看這篇文章。

NASA取消2016年火星探測計劃

最近美國SpaceX公司做了一件讓科學界欣喜若狂的事情,他們成功發射並回收」獵鷹九號「火箭推進器,但是好景不長僅在一天之後,美國NASA就突然宣布:探測器」洞察號「(Insight)上其中一個主要科學原件出了問題,取消原定2016年3月發射該探測器到火星的計劃,這個一項決定對美國的外太空計劃是一個空
 十大奢華科技產品 土豪的專屬

十大奢華科技產品 土豪的專屬

科技便民,我們必須承認我們的社會生活因為科技而越來越便利,但是有些科技並沒有普及到千家萬戶,為什麼呢?因為成本高,價錢高。今天51區小編要給大家介紹的就是那些奢華的科技新產品,跟小編一塊兒去膜拜一下吧!十大奢華科技產品:Krell Illusion II功放Krell此前推出的Illusion 功放
 「天眼」FAST真的能找到外星人嗎

「天眼」FAST真的能找到外星人嗎

9月27日最新消息,世界最大望遠鏡FAST已經竣工,其500米的口徑更是讓人嘆為觀止,那麼這款被外界稱之為天眼的望遠鏡真的能找到外星人嗎?如果「天眼」FAST真的能找到外星人,人類又該如何面對呢?在了解這件事前,我們先來了解一下「天眼」FAST的相關功能吧。在FAST建成以前,世上已存的最大射電望遠
 最新VR虛擬實境科技 讓你一邊飛行一邊健身

最新VR虛擬實境科技 讓你一邊飛行一邊健身

德國初創公司ICAROS GmbH開發出一種結合虛擬與現實的健身器材,可透過虛擬實境(VR)技術,讓使用者一邊健身,同時一邊體驗飛行的快感。這種ICAROS健身器材包含機器本身、控制器和VR眼鏡三項,可藉由VR遊戲來訓練使用者的肌肉。當使用者透過飛行模擬遊戲在享受飛行的同時,此機器可以上下前後移動,