• 首页
  • >
  • Notes
  • >
  • 使用 docker 部署 php+mysql+nginx 环境
  • 使用 docker 部署 php+mysql+nginx 环境

    Time:2023-04-20 / View:831
    您可以按照以下步骤来部署 PHP+MySQL+Nginx 环境:
    1. 安装 Docker 和 Docker Compose
    2. 创建一个文件夹并进入文件夹
    mkdir php-nginx-mysql
    cd php-nginx-mysql
    
    3. 在该文件夹下创建 docker-compose.yml 文件
    version: '3'
    services:
      db:
        image: mysql:5.7
        container_name: mysql
        restart: always
        environment:
          MYSQL_ROOT_PASSWORD: your_password_here
          MYSQL_DATABASE: your_database_name_here
          MYSQL_USER: your_username_here
          MYSQL_PASSWORD: your_password_here
        ports:
          - 3306:3306
        volumes:
          - db-data:/var/lib/mysql
      web:
        image: nginx:alpine
        container_name: nginx
        volumes:
          - ./nginx.conf:/etc/nginx/nginx.conf:ro
          - ./src:/var/www/html
        ports:
          - 80:80
        depends_on:
          - php
      php:
        build: .
        container_name: php
        volumes:
          - ./src:/var/www/html
        ports:
          - 9000:9000
        depends_on:
          - db
    volumes:
      db-data:
    
    您需要将 MySQL 环境中的密码、数据库名和用户名设置为所需的值。
    4. 创建 Nginx 配置文件
    将以下内容保存为 `./nginx.conf`:
    worker_processes auto;
    
    events {
      worker_connections 1024;
    }
    
    http {
      server {
        listen 80;
        index index.php;
        root /var/www/html;
    
        location / {
          try_files $uri $uri/ =404;
        }
    
        location ~ \.php$ {
          try_files $uri =404;
          fastcgi_pass php:9000;
          fastcgi_split_path_info ^(.+\.php)(/.+)$;
          fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
          fastcgi_param PATH_INFO $fastcgi_path_info;
          fastcgi_param PHP_VALUE "upload_max_filesize=10M \n post_max_size=10M";
          include fastcgi_params;
        }
      }
    }
    
    5. 在该文件夹下创建一个 src 文件夹,您可以将 PHP 代码放在该文件夹下
    6. 构建 PHP Docker 映像
    在该文件夹下创建一个 Dockerfile 文件,内容如下:
    FROM php:7.2-fpm
    RUN docker-php-ext-install mysqli pdo pdo_mysql
    
    运行以下命令来构建映像
    docker-compose build
    
    7. 启动 Docker 容器
    在同一目录下运行以下命令来启动容器:
    docker-compose up -d
    
    这将启动一个 MySQL 容器,一个包含 PHP 和 Nginx 的容器,并使它们自动连接。
    现在您已经成功通过 Docker 部署了 PHP+MySQL+Nginx 环境,您可以通过访问 http://localhost/ 来访问您的网站。

    发布留言