0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Flexus 云服务器 X 实例 Docker 容器化实践,轻松搭建 LNMP 环境

jf_21561199 来源:jf_21561199 作者:jf_21561199 2025-01-07 17:44 次阅读

作者简介,黑夜开发者,CSDN 领军人物,全栈领域优质创作者

一、前言

在华为云征文|Flexus云服务器X,云上性能新飞跃,开启业务增长新纪元中我们讲解了产品的购买以及查看了购买的产品是否是我们想要的配置。

恰逢华为云 828 B2B 企业节盛大庆典,Flexus X 实例的特惠活动璀璨夺目,诚邀您深入探索。特别是针对那些既追求顶尖算力效能,又对自建 MySQL、Redis、Nginx 等关键服务性能有着严苛标准的企业及开发者而言,此次机会无疑是提升业务效率与竞争力的黄金契机,切莫错失!

⭐点击此处进入华为云828专场⭐⭐⭐

这节我们继续来讲,在 CentOS 服务器上安装 Docker、Docker Compose 以及配置 MySQL、Nginx 和 PHP 的运行环境。我们先通过后台将系统换成 CentOs,这个也是十分方便的,看下面的操作。

wKgZO2d892mAW_w-AAEVCzwIRH4223.png

wKgZPGd892qAOO82AAE_mR7iCB0053.png

切换操作系统是也是免费的,大家有需要可以试试,不过如果服务器运行有重要的服务,请谨慎操作。

二、安装 Docker

2.1 安装 Docker 依赖

首先,需要安装 Docker 的依赖包。打开我们的终端并运行以下命令:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

wKgZO2d892qATz98AAJeiznGrTo778.png

2.2 设置 Docker 仓库

添加 Docker 官方仓库到你的 yum 仓库列表:

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

国内如果说出现超时的情况,如下,可以更换其他的源。

wKgZPGd892qAKgh1AAC2cldUNfk265.png

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

wKgZO2d892uAEnH1AAD_fNgG6xY598.png

2.3 安装 Docker CE

安装最新版本的 Docker CE:

sudo yum install docker-ce docker-ce-cli containerd.io

这个地方有点慢,可能要稍微等一会儿。

wKgZPGd892uAZH7rAAI5TATCu_o341.png

2.4 启动 Docker 服务

启动 Docker 服务,并设置其开机自启:

sudo systemctl start dockersudo systemctl enable docker

wKgZO2d892uAGcRFAACUmPzVz5U546.png

2.5 验证 Docker 安装

运行以下命令以验证 Docker 是否正确安装:

docker --version

wKgZPGd892uAJLasAABLzpoB1j8334.png

三、安装 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

wKgZO2d892yAb7b3AAC0Cxj7FcA161.png

3.2 设置可执行权限

sudo chmod +x /usr/local/bin/docker-compose

3.3 验证 Docker Compose 安装

docker-compose --version

wKgZPGd892yATNUnAADKvJhthDE870.png

���四、配置 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

如果提示以下超时:

wKgZO2d892yABEE9AAGH5oaguns846.png

可以 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 看一下有没有正常启动容器,看上去没有问题。

wKgZPGd892yAfwt8AADt4U21UuI854.png

为了让公网能够访问到我们的系统,我们放开一下 80 端口,这个去华为云后台操作如下。

wKgZO2d8922AKpDVAAE2rBYli0o507.png

先在目录/var/web/http 下面创建一个 index.html 放入下面的内容后保存。welcome huaweixun x instance 然后访问一下机器的 ip 看看什么反应。

wKgZPGd8922ACJLMAABkfIYEADw564.png

正常出现,完美。

先在目录/var/web/http 下面创建一个 php.php 放入下面的内容后保存。

然后访问一下机器的 ip 看看什么反应。

wKgZO2d8926AJEyXAAIseMsC0Is582.png

正常出现,完美。

五、性能测试

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 数据流被传输,这个性能表现还是非常不错。

wKgZPGd8926ASjqdAAFr4bdc7xg863.png

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 哥线程来完成这个事情。

wKgZO2d8926AGmV7AAGnAK8Ihgc585.png

总共生成 3000 万数据,用了不到 2 分钟时间,效率还是比较不错的。

然后我们看一下控制台监控的表现。

wKgZPGd892-AQJGQAAH1LPO89cM739.png

各个模块看上去都压力不大,整体体验还是相当不错的,值得推荐

六、总结

本文我们通过 Flexus 云服务器 X 实例实现了 Docker 容器化实践,轻松搭建 LNMP 环境,实现了高效、灵活的 Web 服务部署。Docker 简化了 LNMP 组件的部署与管理,提升了开发运维效率。Flexus 云服务器 X 以其卓越的性能和可扩展性,为 Docker 容器提供了坚实的底层支持,助力企业快速构建稳定、安全的 Web 应用环境。另外我们通过对服务和数据库的进行了一定的性能测试,服务器的表现也是非常稳健的。

⭐点击此处查看Flexus云服务器介绍⭐⭐⭐

希望华为云越来越好,希望中国的云事业更上一层楼,我作为一个普通开发者,也将不断参与与见证这一伟大的技术探索与变革。

⭐点击此处进入华为云828专场⭐⭐⭐

wKgZO2d892-ADuiTAAOrqz6_Wjw123.png

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 云服务器
    +关注

    关注

    0

    文章

    662

    浏览量

    13381
  • 华为云
    +关注

    关注

    3

    文章

    2607

    浏览量

    17485
收藏 人收藏

    评论

    相关推荐

    基于华为 Flexus 服务器 X 实例快速搭建 Halo 博客平台

    如何基于华为 Flexus 服务器 X 实例快速搭建
    的头像 发表于 01-08 11:46 112次阅读
    基于华为<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 博客平台

    华为 Flexus 服务器 X 实例之 openEuler 系统下部署 dufs 文件服务器

    一、Flexus 服务器 X 实例介绍 1.1 Flexus
    的头像 发表于 01-08 11:45 123次阅读
    华为<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>之 openEuler 系统下部署 dufs 文件<b class='flag-5'>服务器</b>

    华为 Flexus 服务器 X 实例之 openEuler 系统部署 Docker Compose 管理工具 Dockge

    docker-compose.yaml 部署文件时,Dockge 以其精美的设计和易用性脱颖而出,成为不可或缺的管理工具。利用华为 Flexus
    的头像 发表于 01-08 11:41 108次阅读
    华为<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>之 openEuler 系统部署 <b class='flag-5'>Docker</b> Compose 管理工具 Dockge

    华为 Flexus 服务器 X 实例之 openEuler 系统下部署 Joplin 笔记工具

    地提高工作效率,让我们随时记录笔记与文章,极为方便。选择华为 Flexus 服务器 X 实例
    的头像 发表于 01-08 11:39 119次阅读
    华为<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>之 openEuler 系统下部署 Joplin 笔记工具

    轻松搭建蝌蚪聊天室:华为 Flexus X 实例实战教程

    的一颗明星。 Flexus 服务器 X 实例是下一代柔性计算
    的头像 发表于 01-07 17:26 120次阅读
    <b class='flag-5'>轻松</b><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>实战教程

    华为 Flexus 服务器 X 实例部署 Trilium Notes 知识库工具

    一、Flexus 服务器 X 实例介绍 1.1 Flexus
    的头像 发表于 01-02 20:45 148次阅读
    华为<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>部署 Trilium Notes 知识库工具

    华为 Flexus 服务器 X 实例部署 Note Mark 笔记工具

    能够充分利用其卓越的计算能力,确保应用运行流畅,更能依托其稳定可靠的服务体验,实现高效、便捷且安全的数据管理,开启个人信息管理的新篇章! 一、Flexus
    的头像 发表于 01-02 13:42 67次阅读
    华为<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>部署 Note Mark 笔记工具

    华为 Flexus 服务器 X 实例Docker 环境下部署 JmalCloud 个人网盘

    能够充分利用其出色的计算能力,还能享受稳定可靠的服务体验,为个人数据存储与管理提供坚实的基础。这一实践将展示如何在 Flexus
    的头像 发表于 01-02 13:41 89次阅读
    华为<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'>Docker</b> <b class='flag-5'>环境</b>下部署 JmalCloud 个人网盘

    Flexus 服务器搭建基础环境

    。 今天,有幸拿到一台 华为 FlexusX 实例服务器 ,去年体验下 L
    的头像 发表于 12-31 10:38 211次阅读
    <b class='flag-5'>Flexus</b> <b class='flag-5'>云</b><b class='flag-5'>服务器</b><b class='flag-5'>搭建</b>基础<b class='flag-5'>环境</b>

    华为 Flexus 服务器 X 实例的使用教程

    适用于中低负载场景,如电商直播、企业建站、开发测试环境、游戏服务器和音视频服务等。华为Flexus
    的头像 发表于 12-30 09:16 211次阅读
    华为<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>的使用教程

    Flexus 服务器 X 实例:在 Docker 环境搭建 java 开发环境

    和开发者精心打造。它以卓越的柔性算力,为我们在 Docker 环境搭建 java 开发环境提供有力支撑。 一、Flexus
    的头像 发表于 12-30 09:07 202次阅读
    <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>

    基于华为 Flexus 服务器 X 实例搭建 Halo 博客平台

    署 Halo 博客平台,充分发挥其稳定可靠的服务优势。通过这一实践,我们将展示如何利用华为的强大支持,实现博客平台的高效搭建与管理。依托
    的头像 发表于 12-26 09:40 171次阅读
    基于华为<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 博客平台

    基于华为 Flexus 服务器 X 实例搭建 Linux 学习环境

    不仅提供了强大的计算资源,还拥有灵活的扩展能力和稳定的运行表现,为用户提供了可靠的技术支撑。特别是对于那些希望快速搭建 Linux 学习环境的用户来说,华为 Flexus
    的头像 发表于 12-25 17:10 177次阅读
    基于华为<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>

    采用 Flexus 服务器 X 实例搭建 RTSP 直播服务器

    一、前言 这篇文章讲解:  采用华为最新推出的 Flexus 服务器 X 实例
    的头像 发表于 12-24 17:36 188次阅读
    采用 <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> RTSP 直播<b class='flag-5'>服务器</b>

    华为 Flexus 服务器 X 实例的购买及使用体验

    价比服务。其中,华为 Flexus 服务器 X
    的头像 发表于 12-24 17:26 173次阅读
    华为<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>的购买及使用体验