docker 部署 nginx1.15.11 + php7.4 备忘录

使用 docker 部署 nginx1.15.11 + php7.1

本文参考

docker安装

使用 docker 部署 nginx

  • 使用 docker pull nginx:1.15.11 获取 nginx-1.15.11 镜像
  • 使用 docker run -itd -p 888:80 --name nginx-test nginx:1.15.11 创建一个 名为 nginx-test 的 nginx 容器

参数说明
-i 交互式操作
-t 终端
-d 后台运行
--name 容器名称
-p 端口映射 : 前面是主机端口 : 后面是容器端口

这时可以使用 主机:888 访问到 nginx 欢迎页面

docker run -itd -p 888:80 --name nginx-temp -v D:\temptest\nginx\conf\default.conf:/etc/nginx/conf.d/default.conf -v D:\temptest\nginx\logs:/var/log/nginx -v D:\temptest\nginx\www:/usr/share/nginx/html nginx:1.15.11
参数说明
-v 挂载目录/文件 : 前面是主机目录/文件 : 后面是容器目录/文件

将本地文件映射到容器中,其中 D:\temptest\nginx\*是本地路径,这里的 default.conf 是从 容器中复制出来的(使用 docker cp nginx-test:/etc/nginx/conf.d/default.conf D:\temptest\nginx\conf\default.conf)要注意的是 nginx 的不同版本或在不同环境中的配置文件路径可能不同,需要自行查看

使用 docker 部署 php

  • 使用 docker pull php:7.4-fpm 获取 php:7.4-fpm 镜像
  • 使用 docker run -d --name php-test -p 9000:9000 -v D:\temptest\nginx\www:/usr/share/nginx/html php:7.4-fpm 创建一个 名为 php-test 的 php 容器

修改并配置 nginx

配置修改如图

default_conf_1.PNG

  • 将 index.php 添加到 index中

default_conf_2.PNG

  • 将 fastcgi_param SCRIPT_FILENAME 修改为 $document_root$fastcgi_script_name
  • 将 fastcgi_pass 修改为 172.17.0.3:9000

172.17.0.3 这个 IP 地址是通过 docker inspect php-test 查询得到的
在 Windows 中可以通过 docker inspect php-test > ./temp.txt 将结果输出到 temp文件中查找 "IPAddress"
在 Linux 中可以使用docker inspect php-test | grep "IPAddress" 过滤出结果
在 Windows 中 捕获2.PNG
在 Linux 中可能会得到(图片来自网络) 捕获3.PNG

完成

附录:

  • 在 docker 中为 php 安装 mysqli 及 pdo 扩展 docker-php-ext-install mysqli pdo pdo_mysql
  • 在 docker 中为 php 安装 php-redis

先下载redis

curl -L -o /tmp/redis.tar.gz github.com/phpredis/ph…

解压

tar xfz /tmp/redis.tar.gz

删除压缩包

rm -r /tmp/redis.tar.gz

创建 PHP 插件目录

mkdir -p /usr/src/php/ext

将解压得到的文件移动到 PHP 插件目录

mv phpredis-5.3.4 /usr/src/php/ext/redis

安装

docker-php-ext-install redis

本文地址 使用 docker 部署 nginx1.15.11 + php7.1

猜你喜欢

转载自juejin.im/post/7016889230760607757