🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。
🏆数年电商行业从业经验,AWS/阿里云资深使用用户
,历任核心研发工程师,项目技术负责人。
🎉欢迎 👍点赞✍评论⭐收藏
文章目录
- 🚀一、前言
- 🚀二、安装 Docker
- 🔎2.1 安装 Docker 依赖
- 🔎2.2 设置 Docker 仓库
- 🔎2.3 安装 Docker CE
- 🔎2.4 启动 Docker 服务
- 🔎2.5 验证 Docker 安装
- 🚀三、安装 Docker Compose
- 🔎3.1 下载 Docker Compose
- 🔎3.2 设置可执行权限
- 🔎3.3 验证 Docker Compose 安装
- 🚀四、配置 MySQL、Nginx 和 PHP
- 🔎4.1 创建 docker-compose.yml
- 🔎4.2 启动服务
- 🔎4.3 通过Nginx+PHP配置公网可访问的服务
- 🚀五、总结
🚀一、前言
在华为云征文|Flexus云服务器X,云上性能新飞跃,开启业务增长新纪元中我们讲解了产品的购买以及查看了购买的产品是否是我们想要的配置。
⭐⭐⭐点击此处体验⭐⭐⭐
这节我们继续来讲,在 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-reload
sudo 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
放入下面的内容后保存。
<?php
phpinfo()
然后访问一下机器的ip看看什么反应。
正常出现,完美。
🚀五、总结
本文我们通过Flexus云服务器X实例实现了Docker容器化实践,轻松搭建LNMP环境,实现了高效、灵活的Web服务部署。Docker简化了LNMP组件的部署与管理,提升了开发运维效率。Flexus云服务器X以其卓越的性能和可扩展性,为Docker容器提供了坚实的底层支持,助力企业快速构建稳定、安全的Web应用环境。
⭐⭐⭐点击此处查看Flexus云服务器介绍⭐⭐⭐
希望华为云越来越好,希望中国的云事业更上一层楼,我作为一个普通开发者,也将不断参与与见证这一伟大的技术探索与变革。
今天的内容就到这里,我们下期再会。