码迷,mamicode.com
首页 > Web开发 > 详细

docker部署多个php站点

时间:2021-06-10 18:52:31      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:修改   sha   拉取   需要   stc   安装docker   color   get   config   

1、安装docker

2、拉取镜像

docker pull mysql:5.7

docker pull php:7.3-fpm

docker pull nginx

4、创建mysql容器

docker run --name mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d -i -p 3306:3306 mysql:latest

5、设置mysql远程访问

docker exec -it mysql bash

mysql -uroot -p

use mysql;

ALTER USER ‘root‘@‘%‘ IDENTIFIED WITH mysql_native_password BY ‘root‘;

flush privileges;

6、创建网站目录和配置

mkdir -p ~/nginx/www ~/nginx/logs ~/nginx/conf

7、创建PHP容器

docker run --name  php -v ~/nginx/www:/www  -d php:7.3-fpm

8、创建nginx容器

docker run --name nginx -p 80:80 -v ~/nginx/www:/usr/share/nginx/html -v ~/nginx/conf:/etc/nginx/conf.d --link php:php -d nginx

9、修改配置文件~/nginx/conf/xxx.conf

server {
    listen 80;
    server_name docker.test.com;

    location / {
        if (!-e $request_filename) {
            rewrite ^(.*)$ /index.php?s=/$1 last;
            break;
        }
        root /usr/share/nginx/html/web1;
        index index.html index.htm index.php;
    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html/web1;
    }

    location ~ \.php$ {
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /www/web1/$fastcgi_script_name;
        include fastcgi_params;
    }
}

 

特别说明:

 fastcgi_pass php:9000需要与nginx容器的 link一致

/www/web1需要与php映射的路径一致,并且加上当前站点的根目录

docker默认安装的php有些扩展是没有的,需要自己进入容器安装

10、容器中安装php扩展

docker-php-ext-install 扩展名称

docker-php-ext-configure一般需要与docker-php-ext-install配合使用,当需要自定义扩展的时候需要使用

安装php的gd库时需要使用

apt-get update

apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libmcrypt-dev libpng-dev

docker-php-ext-install -j$(nproc) iconv mcrypt

docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/

docker-php-ext-install -j$(nproc) gd

最后重启php和nginx

docker restart php

docker restart nginx

 

docker部署多个php站点

标签:修改   sha   拉取   需要   stc   安装docker   color   get   config   

原文地址:https://www.cnblogs.com/fyiyy/p/14871433.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!