摘要:一個存儲卷根據特性可以掛載給一個容器組內多個容器使用,根據文件存儲特性,支持多容器組掛載。
今天我們將一起通過一個實踐將一個PHP網站運行在Cube上!
LNMP環境是我們非常常見的PHP網站運行的環境,我們將其中的功能進行區分,NGINX負責轉發、PHP負責程序運行,原PHP程序運行時基本是運行在這兩個程序的共同目錄下,NGINX負責將用戶請求的具體網址進行后綴篩選轉發給PHP運行接口處理。
由于容器推薦是單進程的,所以在Cube中我們將NGINX和PHP拆成了2個容器,Cube有容器組的概念,所以我們將2個容器放到了一個組里。
這里我們選擇添加2個容器,分別是NGINX和PHP,NGINX鏡像我們選擇官方鏡像即可,PHP鏡像我們最好選擇是具體PHP程序的鏡像或者基于PHP-FPM的基礎鏡像安裝程序依賴的PHP組件。
我們可以根據應用設定具體使用資源值,由于NGINX轉發動作可能資源使用很小,參照K8S的Pod(容器組)資源對象,在這里Cube容器組內的容器是可以進行資源共享使用,如果PHP資源不夠的話會占用一部分NGINX容器的資源,達到容器組的資源最大化使用。
前面說到我們將2個容器放進了1個容器組,參照K8S的Pod(容器組)資源對象,容器組內容器之間是可以本地調用的,所以在我們原來的LNMP環境下NGINX的配置是可以直接在容器中使用的,這里我們用配置卷掛載而不是構建在鏡像中,方便我們維護這個配置。
我們在卷設置中添加config類型的卷,并填入NGINX配置default.conf
在NGINX容器的高階設置中添加掛載路徑/etc/nginx/conf.d/default.conf
和子路徑default.conf
,選擇之前我們創建好的卷,然后保存,這里子路徑的設置是為了我們在該掛載路徑下只覆蓋具體的default.conf文件,而不會將整個文件夾下覆蓋。
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html/wordpress;
index index.html index.php;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ .php$ {
fastcgi_pass localhost:9000;
fastcgi_index index.php;
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
fastcgi_param script_FILENAME /var/www/html/wordpress/$fastcgi_script_name;
#fixes timeouts
fastcgi_read_timeout 600;
include fastcgi_params;
}
}
容器是無狀態的將不會保存任何數據,所以我們這里將我們的PHP程序放在了我們的共享文件存儲(UFS)上,然后我們同配置卷一樣,將存儲卷創建并在容器中掛載,這里我們需要對2個容器進行掛載,因為我們還是要達到NGINX和PHP容器讀取的程序是同一份。
我這里選擇的是我們的例子WordPress的php-fpm鏡像,為什么我們用了業務程序的PHP鏡像我們還需要將業務程序掛在出來?因為基礎php-fpm鏡像仍然需要安裝php程序依賴,這里為保證PHP程序正常運行所以這里選擇了官方的WordPress鏡像以保證程序運行依賴完整,掛載出來是為了PHP運行本地的程序變化可以得到同步。
默認鏡像:busybox:1.28
命令:sh
參數:
-c
wget http://cube.cn-bj.ufileos.com/wordpress-5.4.2.tar && tar -zxvf wordpress-5.4.2.tar && mv /wordpress /data/wordpress
掛載卷:掛載前面創建的UFS卷
我們創建一個ULB,然后在ULB中添加VServer,選擇Cube分類和80端口查詢到我們的Cube實例,并選擇掛載。
我們剛才創建的仍然是單點的PHP服務,如何才能創建成為一個具備高可用性能的的PHP網站呢?這里可以使用Cube的克隆功能,我們可以快速創建出Cube實例,以WordPress為例大約3秒即可創建完成,然后我們在ULB的VServer中選擇我們剛剛創建的Cube實例添加到我們的負載均衡中,至此,一個高可用的PHP網站就部署完成了。
)
整理一下需要注意的點:
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/126318.html
摘要:限時加入測試交流群,獲得專業的技術指導。什么是快杰版產品優勢計費說明使用指南接下來我們使用容器實例發布您的服務,將介紹具體創建填寫字段含義以及示例操作。運行狀態容器重啟策略實時文檔歡迎訪問概覽容器實例(Cube)是UCloud提供的serverless容器實例服務,通過UCloud的基礎設施資源為業務提供了更加彈性、更加安全、更加快速的資源支撐,你可以在Cube上部署、管理你的容器應用,而你...
摘要:今天,我們將通過實踐,將一個網站運行在上,話不多說,課堂繼續開講視頻應用的高可用部署,幫你輕松搞定視頻應用的高可用部署,幫你輕松搞定我們提煉一下本期要點原環境改造環境是我們常見的網站運行環境。上一期視頻,沈老師帶大家認識了UCloud容器實例Cube。今天,我們將通過實踐,將一個PHP網站運行在Cube上,話不多說,Cube課堂繼續開講!我們提煉一下本期要點:①原LNMP環境改造LNMP環境...
摘要:你可以在上部署管理容器應用,而無需關心應用底層的服務器運維工作。容器產品經理沈老師,帶你開啟的體驗之旅簡單安全高可用容器服務簡單安全高可用容器服務我們將在應用方面做具體科普應用如何在上做高可用部署。容器實例(Cube)是UCloud提供的serverless容器實例服務,通過UCloud的基礎設施資源,為業務提供了更加彈性、快速的資源支撐。你可以在Cube上部署、管理容器應用,而無需關心應用...
摘要:幫助企業快速搭建和使用大數據平臺,降低大數據開發運維成本。發布范圍北京二可用區灰度中。機型快杰版的數據庫實例,采用業內主流的計算存儲分離架構計算層使用高性能快杰云主機,存儲層采用超高性能云盤。UCloud PyPI私有源上線PyPI是Python官方的第三方庫的倉庫,為解決默認官方源在國內的訪問速度受限,并發請求受限,經常出現丟包、超時等問題,UCloud 近期上線了PyPI私有源。PyPI...
摘要:存儲方面,容器目前支持了兩種類型的存儲可以多點讀寫的網絡文件系統和僅單點讀寫的云硬盤。通過添加對協議的支持,輕量級虛擬機可以直接對接到服務,從而實現了對高性能的型云硬盤掛載和使用。Cube誕生背景 隨著云原生技術的推廣及落地,容器技術在企業生產環境中的使用比重越來越大。Kubernetes作為容器編排的事實標準,在企業服務中被大量采用。UCloud容器團隊在2018年推出了Kubern...
閱讀 3514·2023-04-25 20:09
閱讀 3720·2022-06-28 19:00
閱讀 3035·2022-06-28 19:00
閱讀 3058·2022-06-28 19:00
閱讀 3131·2022-06-28 19:00
閱讀 2859·2022-06-28 19:00
閱讀 3014·2022-06-28 19:00
閱讀 2610·2022-06-28 19:00