### [使用Docker Compose、Nginx和MariaDB实现PHP应用程序的快速部署流程](https://www.prosaas.cn/article/12209) **Published:** 2023-10-12T07:12:11 **Author:** 5201314 **Excerpt:** 使用Docker Compose、Nginx和MariaDB实现PHP应用程序的快速部署流程摘要:本文将介绍如… ![20231212154209439](https://zhiqipro.oss-cn-beijing.aliyuncs.com/2023/10/20231212154209439.jpg "20231212154209439") 使用Docker Compose、Nginx和MariaDB实现PHP应用程序的快速部署流程 摘要: 本文将介绍如何使用Docker Compose、Nginx和MariaDB实现快速部署PHP应用程序的流程。我们将使用Docker Compose来定义和管理容器化应用程序的配置,Nginx作为Web服务器,MariaDB作为数据库。通过构建和启动这些容器,我们可以快速部署和运行PHP应用程序。 介绍: 随着云计算和容器化技术的发展,快速部署应用程序变得越来越容易。使用Docker Compose,我们可以通过编写一个YAML配置文件来定义和管理应用程序所需的容器。在本文中,我们将演示如何使用Docker Compose来定义和部署一个包含Nginx和MariaDB的PHP应用程序。 步骤1:安装Docker和Docker Compose 首先,确保您已在系统上安装了Docker和Docker Compose。您可以从官方网站上下载并按照说明进行安装。 步骤2:创建项目目录 在开始之前,让我们创建一个新的项目目录。在该目录下我们将创建一个名为docker-compose.yml的文件,用于定义我们的应用程序配置。 步骤3:创建Docker Compose配置文件 在项目目录中,创建一个名为docker-compose.yml的文件,并使用以下示例代码作为模板: version: '3' services: web: build: context: . dockerfile: Dockerfile ports: - "80:80" volumes: - ./app:/var/www/html depends\_on: - db db: image: mariadb:latest environment: - MYSQL\_ROOT\_PASSWORD=123456 - MYSQL\_DATABASE=myapp - MYSQL\_USER=myuser - MYSQL\_PASSWORD=mypassword volumes: - ./data:/var/lib/mysql 在上面的示例中,我们定义了两个服务:web和db。web服务是我们的PHP应用程序所在的服务,使用了一个名为Dockerfile的文件来构建Web容器。我们需要将本地的端口80映射到容器的端口80,并将应用程序的代码挂载到容器的/var/www/html目录。db服务是我们的MariaDB数据库服务,使用了最新的mariadb:latest镜像,并设置了数据库的root密码和数据库名。 步骤4:创建Dockerfile 在项目目录中,创建一个名为Dockerfile的文件,并使用以下示例代码作为模板: FROM php:7.4-fpm RUN apt-get update && apt-get install -y nginx libmcrypt-dev libjpeg-dev libpng-dev libfreetype6-dev libxml2-dev libzip-dev zip unzip RUN docker-php-ext-install mysqli pdo pdo\_mysql xml zip COPY nginx.conf /etc/nginx/sites-available/default WORKDIR /var/www/html CMD service nginx start && php-fpm 在上面的示例中,我们使用了php:7.4-fpm作为基础镜像,并安装了一些PHP扩展和Nginx。我们还将nginx.conf文件复制到容器的/etc/nginx/sites-available/default目录,并将工作目录设置为/var/www/html。 步骤5:创建Nginx配置文件 在项目目录中,创建一个名为nginx.conf的文件,并使用以下示例代码作为模板: server { listen 80; server\_name localhost; root /var/www/html; location / { index index.php; try\_files $uri $uri/ /index.php?$query\_string; } location ~ .php$ { fastcgi\_pass web:9000; fastcgi\_index index.php; fastcgi\_param SCRIPT\_FILENAME $document\_root$fastcgi\_script\_name; include fastcgi\_params; } } 在上面的示例中,我们定义了一个简单的Nginx服务器,监听80端口。根目录设置为/var/www/html,并配置了PHP文件的处理方式。 步骤6:构建和启动容器 在项目目录中,打开终端,并执行以下命令来构建和启动容器: docker-compose up -d 该命令将根据Docker Compose配置文件构建和启动应用程序的容器。在构建过程中,Docker将自动下载并安装所需的镜像和依赖项。 步骤7:测试应用程序 现在,您可以通过在Web浏览器中访问http://localhost来测试您的PHP应用程序。如果一切正常,您将看到应用程序的欢迎页面。 结束语: 通过使用Docker Compose、Nginx和MariaDB,我们可以快速部署和运行PHP应用程序。通过定义和管理容器化应用程序的配置,我们可以简化和加速应用程序的部署流程。希望本文对您实现PHP应用程序的快速部署有所帮助。 以上就是使用Docker Compose、Nginx和MariaDB实现PHP应用程序的快速部署流程的详细内容,更多请关注知企PROSAAS其它相关文章! **Tags:** default, docker, html, http, mariadb, nginx, php, var, 数据库 **Categories:** 后端开发 ---