作者簡介,黑夜開發者,CSDN 領軍人物,全棧領域優質創作者
一、前言
在華為云征文|Flexus云服務器X,云上性能新飛躍,開啟業務增長新紀元中我們講解了產品的購買以及查看了購買的產品是否是我們想要的配置。
恰逢華為云 828 B2B 企業節盛大慶典,Flexus X 實例的特惠活動璀璨奪目,誠邀您深入探索。特別是針對那些既追求頂尖算力效能,又對自建 MySQL、Redis、Nginx 等關鍵服務性能有著嚴苛標準的企業及開發者而言,此次機會無疑是提升業務效率與競爭力的黃金契機,切莫錯失!
?點擊此處進入華為云828專場???
這節我們繼續來講,在 CentOS 服務器上安裝 Docker、Docker Compose 以及配置 MySQL、Nginx 和 PHP 的運行環境。我們先通過后臺將系統換成 CentOs,這個也是十分方便的,看下面的操作。
切換操作系統是也是免費的,大家有需要可以試試,不過如果服務器運行有重要的服務,請謹慎操作。
二、安裝 Docker
2.1 安裝 Docker 依賴
首先,需要安裝 Docker 的依賴包。打開我們的終端并運行以下命令:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2.2 設置 Docker 倉庫
添加 Docker 官方倉庫到你的 yum 倉庫列表:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
國內如果說出現超時的情況,如下,可以更換其他的源。
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2.3 安裝 Docker CE
安裝最新版本的 Docker CE:
sudo yum install docker-ce docker-ce-cli containerd.io
這個地方有點慢,可能要稍微等一會兒。
2.4 啟動 Docker 服務
啟動 Docker 服務,并設置其開機自啟:
sudo systemctl start dockersudo systemctl enable docker
2.5 驗證 Docker 安裝
運行以下命令以驗證 Docker 是否正確安裝:
docker --version
三、安裝 Docker Compose
3.1 下載 Docker Compose
從 GitHub 倉庫下載 Docker Compose 的最新版本。例如,使用下面的命令下載最新版本(版本號請自行替換為最新版本):
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
3.2 設置可執行權限
sudo chmod +x /usr/local/bin/docker-compose
3.3 驗證 Docker Compose 安裝
docker-compose --version
???四、配置 MySQL、Nginx 和 PHP
下面我們用 Docker Compose 來配置這些服務。
4.1 創建 docker-compose.yml
在你的項目根目錄下創建一個 docker-compose.yml文件,并添加以下內容(請根據你的需要調整版本和配置):
version: '3.3'services:db:image: mysql:5.7restart: alwaysenvironment:MYSQL_ROOT_PASSWORD: v7wyU2treMBnKE5SMYSQL_DATABASE: huaweiyun_testMYSQL_USER: mysqlMYSQL_PASSWORD: nKv7wyU2trE5beMBSBNweb:image: nginx:latestrestart: alwaysports:- "80:80"volumes:- /etc/docker-nginx/conf.d:/etc/nginx/conf.d- /var/web/http:/usr/share/nginx/htmlphp:image: php:7.4-fpmrestart: alwaysvolumes:- /var/web/http:/usr/share/nginx/html
注意:你需要創建相應的目錄(如/etc/docker-nginx/conf.d和/var/web/http),并放入相應的配置文件和網頁內容。
基于上面的內容,我們設置一個 nginx 及基本配置文件。vim /etc/docker-nginx/conf.d/website.conf 放入如下內容:
server {listen 80;root /usr/share/nginx/html;error_log /var/log/nginx/error1.log warn;location ~* .php {index index.php;root /usr/share/nginx/html;fastcgi_pass php:9000;#php 就是 php 這個容器fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}}
4.2 啟動服務
在項目根目錄下運行以下命令來啟動服務:
docker-compose up -d
如果提示以下超時:
可以 vim /etc/docker/daemon.json 放入如下內容:
{"registry-mirrors": ["https://gallery.ecr.aws/","https://gitverse.ru/docs/artifactory/gitverse-registry/","https://docker.lmirror.top","https://atomhub.openatom.cn/"]}
然后:
sudo systemctl daemon-reloadsudo systemctl restart docker
再次嘗試。
4.3 通過 Nginx+PHP 配置公網可訪問的服務
docker ps 看一下有沒有正常啟動容器,看上去沒有問題。
為了讓公網能夠訪問到我們的系統,我們放開一下 80 端口,這個去華為云后臺操作如下。
先在目錄/var/web/http 下面創建一個 index.html 放入下面的內容后保存。welcome huaweixun x instance 然后訪問一下機器的 ip 看看什么反應。
正常出現,完美。
先在目錄/var/web/http 下面創建一個 php.php 放入下面的內容后保存。
然后訪問一下機器的 ip 看看什么反應。
正常出現,完美。
五、性能測試
5.1 LNMP 性能測試
上面的一些流程里面,我們已經完成搭建好了 LNMP 的開發環境,因為是評測文章,下面我們來評測一下這個框架的性能。這里我們主要用到 wrk 來測試。wrk是一個現代的 HTTP 基準測試工具,用于在高并發條件下測試 Web 服務器的性能。它可以模擬多個并發用戶發送 HTTP 請求,并測量請求的響應時間、吞吐量等關鍵性能指標。
首先安裝一下
git clone https://github.com/wg/wrk.gitcd wrk/makeln wrk /usr/local/bin
然后開始測試。
wrk -t12 -c400 -d30s http://114.116.225.214/php.php
這里:
·-t12表示使用 12 個線程來執行測試。
·-c400表示啟動 400 個 HTTP 連接。
·-d30s表示測試持續 30 秒。
下圖中可以看到 30s 內發起了 4000 多次請求,200 多 M 數據流被傳輸,這個性能表現還是非常不錯。
5.2 MySQL 性能測試
Sysbench 是一個跨平臺的性能測試工具,尤其適用于數據庫的性能評估。對于 MySQL 數據庫,Sysbench 可以幫助測試其 OLTP(在線事務處理)能力,包括讀寫性能、并發性能等。下面我們用 Sysbench 來測試 MySQL 的性能。
先創建一個 sbtest 的數據庫
CREATE DATABASE sbtest; GRANT ALL PRIVILEGES ON sbtest.* TO 'sbuser'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES;
然后使用 Sysbench 來準備測試數據。這可以通過 oltp_read_write 測試模式來完成,該模式支持在數據庫中生成和填充測試表。
sysbench oltp_read_write --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=用戶名 --mysql-password=密碼 --mysql-db=sbtest --tables=30 --table-size=1000000 --threads=30 prepare
這里,--tables=30 表示創建 30 個測試表,--table-size=1000000 表示每個表中有 100 萬行數據。--threads=30 表示用 30 哥線程來完成這個事情。
總共生成 3000 萬數據,用了不到 2 分鐘時間,效率還是比較不錯的。
然后我們看一下控制臺監控的表現。
各個模塊看上去都壓力不大,整體體驗還是相當不錯的,值得推薦。
六、總結
本文我們通過 Flexus 云服務器 X 實例實現了 Docker 容器化實踐,輕松搭建 LNMP 環境,實現了高效、靈活的 Web 服務部署。Docker 簡化了 LNMP 組件的部署與管理,提升了開發運維效率。Flexus 云服務器 X 以其卓越的性能和可擴展性,為 Docker 容器提供了堅實的底層支持,助力企業快速構建穩定、安全的 Web 應用環境。另外我們通過對服務和數據庫的進行了一定的性能測試,服務器的表現也是非常穩健的。
?點擊此處查看Flexus云服務器介紹???
希望華為云越來越好,希望中國的云事業更上一層樓,我作為一個普通開發者,也將不斷參與與見證這一偉大的技術探索與變革。
?點擊此處進入華為云828專場???
審核編輯 黃宇
-
云服務器
+關注
關注
0文章
747瀏覽量
13438 -
華為云
+關注
關注
3文章
2703瀏覽量
17629
發布評論請先 登錄
相關推薦
Flexus 云服務器 X 實例實踐:安裝 SimpleMindMap 思維導圖工具
![<b class='flag-5'>Flexus</b> <b class='flag-5'>云</b><b class='flag-5'>服務器</b> <b class='flag-5'>X</b> <b class='flag-5'>實例</b><b class='flag-5'>實踐</b>:安裝 SimpleMindMap 思維導圖工具](https://file1.elecfans.com//web3/M00/06/56/wKgZO2eJthCAXZgSAAEJcgSbShg123.png)
Flexus 云服務器 X 實例安裝 Docker 管理工具 Portainer
![<b class='flag-5'>Flexus</b> <b class='flag-5'>云</b><b class='flag-5'>服務器</b> <b class='flag-5'>X</b> <b class='flag-5'>實例</b>安裝 <b class='flag-5'>Docker</b> 管理工具 Portainer](https://file1.elecfans.com//web3/M00/05/D5/wKgZPGeE7uWANNfEAAEJcgSbShg125.png)
云服務器 Flexus X 實例,Docker 集成搭建搭建 Flink
![<b class='flag-5'>云</b><b class='flag-5'>服務器</b> <b class='flag-5'>Flexus</b> <b class='flag-5'>X</b> <b class='flag-5'>實例</b>,<b class='flag-5'>Docker</b> 集成<b class='flag-5'>搭建</b><b class='flag-5'>搭建</b> Flink](https://file1.elecfans.com//web3/M00/05/DE/wKgZO2eE6E6Ae2hhAAHTNgW-_vU656.png)
云服務器 Flexus X 實例,Docker 集成搭建 Grafana 開源數據可視化平臺
![<b class='flag-5'>云</b><b class='flag-5'>服務器</b> <b class='flag-5'>Flexus</b> <b class='flag-5'>X</b> <b class='flag-5'>實例</b>,<b class='flag-5'>Docker</b> 集成<b class='flag-5'>搭建</b> Grafana 開源數據可視<b class='flag-5'>化</b>平臺](https://file1.elecfans.com//web3/M00/05/C7/wKgZPGeExbOACluwAAHTNgW-_vU044.png)
Flexus 云服務器 X 實例:在 Docker 環境下搭建 java 開發環境
![<b class='flag-5'>Flexus</b> <b class='flag-5'>云</b><b class='flag-5'>服務器</b> <b class='flag-5'>X</b> <b class='flag-5'>實例</b>:在 <b class='flag-5'>Docker</b> <b class='flag-5'>環境</b>下<b class='flag-5'>搭建</b> java 開發<b class='flag-5'>環境</b>](https://file1.elecfans.com//web3/M00/04/30/wKgZPGdxDsqAZxq9AAEJcgNsafo044.png)
基于華為云 Flexus 云服務器 X 實例部搭建 Halo 博客平臺
![基于華為<b class='flag-5'>云</b> <b class='flag-5'>Flexus</b> <b class='flag-5'>云</b><b class='flag-5'>服務器</b> <b class='flag-5'>X</b> <b class='flag-5'>實例</b>部<b class='flag-5'>搭建</b> Halo 博客平臺](https://file1.elecfans.com//web3/M00/03/D4/wKgZO2dsEiuAKz3YAACZ1hQEldg800.png)
基于華為云 Flexus 云服務器 X 實例搭建 Linux 學習環境
![基于華為<b class='flag-5'>云</b> <b class='flag-5'>Flexus</b> <b class='flag-5'>云</b><b class='flag-5'>服務器</b> <b class='flag-5'>X</b> <b class='flag-5'>實例</b><b class='flag-5'>搭建</b> Linux 學習<b class='flag-5'>環境</b>](https://file1.elecfans.com//web3/M00/03/BE/wKgZPGdry_OAXra5AACZ1sYpTAI572.png)
評論