Docker安装php运行环境(Nginx + Mysql5.7 + Php7.4 + Redis)

  • 拉取镜像

    # 拉取Nginx镜像
    docker pull nginx
    
    # 拉取Mysql镜像
    docker pull mysql:5.7
     
    # 拉取PHP7.4-fpm镜像
    docker pull php:7.4-fpm
    
    # 拉取Redis镜像
    docker pull redis
     
    
  • 创建容器

    # 创建mysql容器root密码为root
    docker run --name mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root -d -v /d/DockerContainer/mysql:/var/lib/mysql mysql:5.7
    
    # 创建php容器 /d/DockerContainer/www:/project 需要和nginx容器保持一致
    docker run --name php7.4 -p 9001:9000 -d -v /d/DockerContainer/www:/project php:7.4-fpm
    
    # 创建nginx容器关联php-fpm
    docker run --name nginx -p 81:80 -p 444:443 -d -v /d/DockerContainer/www:/project -v /d/DockerContainer/nginx/conf:/etc/nginx/conf.d -v /d/DockerContainer/nginx/logs:/var/log/nginx -v /d/DockerContainer/nginx/cert:/etc/nginx/cert --link php7.4:php nginx
    
    # 创建redis容器
    docker run --name redis -p 6380:6379 -d redis
    

  • 安装php扩展

    # 进入php容器
    docker exec -it php7.4 /bin/bash
    
    # 安装mysqli扩展
    docker-php-ext-install mysqli
    
    # 安装bcmath扩展
    docker-php-ext-install bcmath
    
    # 安装pdo_mysql扩展
    docker-php-ext-install pdo_mysql
    
    # 安装redis扩展
    pecl install -o -f redis && rm -rf /tmp/pear && docker-php-ext-enable redis
    
    # 安装swoole扩展
    pecl install https://pecl.php.net/get/swoole-4.8.12.tgz && docker-php-ext-enable swoole
    
    # 修改php配置文件
    touch /usr/local/etc/php/conf.d/upload.ini
    
    # 在ini文件输入需要更新的内容
    file_uploads = On
    memory_limit = 800M
    upload_max_filesize = 800M
    post_max_size = 800M
    max_execution_time = 600
  • nginx配置文件

    # D:\DockerContainer\nginx\conf\localhost.conf
    
    server {
        listen       80;
        server_name  localhost;
        root   /project;
        index  index.html index.htm index.php;
        location ~ \.php$ {
            fastcgi_pass   php:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
    }

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要配置 PHP 环境NginxMySQLRedis,你按照以下步骤进行操作: 1. 首,安装 DockerDocker Compose(如果尚未安)。 2. 创建一个新的目录,用于存放你的文件和配置文件。 在该目录下一个 `docker-compose.yml` 文件将以下内容复制到文件中: yaml version: '3' services: nginx: image: nginx:latest : - 80:80 volumes - ./nginx.conf://nginx/nginx.conf ./public:/var/www/html depends_on: - php php: image: php:latest volumes: - ./php.ini:/usr/local/etc/php/php.ini - ./public:/var/www/html mysql: image: mysql:latest ports: - 3306:3306 environment: - MYSQL_ROOT_PASSWORD=your_mysql_root_password - MYSQL_DATABASE=your_mysql_database - MYSQL_USER=your_mysql_user - MYSQL_PASSWORD=your_mysql_password volumes: - ./mysql:/var/lib/mysql redis: image: redis:latest ports: - 6379:6379 volumes: - ./redis:/data ``` 4. 创建一个 `nginx.conf` 文件,并将以下内容复制到文件中。你可以根据需要进行修改。 ```nginx events {} http { server { listen 80; server_name localhost; root /var/www/html; index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } } ``` 5. 创建一个 `php.ini` 文件,并根据需要进行修改。 6. 创建一个 `public` 文件夹用于存放你的 PHP 项目文件。 7. 运行以下命令启动 Docker 容器: ```shell docker-compose up -d ``` 这将会启动 NginxPHPMySQLRedis 容器。 现在,你已经成功配置了 PHP 环境NginxMySQLRedis。你可以将你的 PHP 项目文件放在 `public` 文件夹中,然后通过访问 `http://localhost` 来访问你的应用程序。请确保修改 `mysql` 服务中的环境变量,设置你自己的 MySQL 根密码、数据库名称、用户名和密码。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值