Dockercompose部署nginx+php

编程

Docker compose 部署 nginx+php

Docker compose 部署 nginx+php

拉取Docker镜像

docker pull nginx:1.21.6

docker pull php:7.4.28-fpm

创建docker-compose 目录

在home目录下创建docker-nginx

mkdir /home/docker-nginx  #创建目录

cd /home/docker-nginx #进入目录

拷贝配置文件到宿主机

#拷贝 nginx的配置文

docker run -d --name nginx nginx

docker cp nginxtest:/etc/nginx ./

docker cp nginxtest:/var/log ./

docker rm -f nginx

拷贝 php的配置文件

docker run -d --name php php:7.4.28-fpm

docker cp phptest:/usr/local/etc/php ./

docker rm -f php

更改配置文件

配置内容参见:https://blog.csdn.net/qq_43534481/article/details/124916254?spm=1001.2014.3001.5501

配置php.ini

cd /home/docker-nginx/php #进入php目录

mv php.ini-development php.ini #重命名php.ini-development为php.ini

sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g" php.ini #替换字符串;cgi.fix_pathinfo=1 为 cgi.fix_pathinfo=0

配置default.conf

cd /home/docker-nginx/nginx/conf.d  #进入目录

在default.conf的server块底部添加如下代码

location ~ .php$ {

root html;

fastcgi_pass php:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /home/www$fastcgi_script_name;

include fastcgi_params;

}

示例如下注意缩进

创建web根目录

mkdir /home/docker-nginx/www  #创建目录

echo "<script>alert("installation complete")</script>" > index.html #创建index.html文件并写入内容

echo "<?php phpinfo();?>" > index.php #创建index.php文件并写入内容

编写yaml文件

在 /home/docker-nginx目录下创建一个docker-compose.yaml 文件

touch /home/docker-nginx/docker-compose.yaml  #创建文件

将以下内容写入docker-compose.yaml

version: "3"

services:

nginx:

image: nginx:1.21.6

container_name: "vps-nginx"

restart: always

ports:

- "80:80"

- "443:443"

depends_on:

- "php"

volumes:

- "/home/docker-nginx/nginx:/etc/nginx"

- "/home/docker-nginx/log:/var/log"

- "/home/docker-nginx/www:/home/www"

networks:

- net-app

php:

image: php:7.4.28-fpm

container_name: "vps-php"

restart: always

ports:

- "9000:9000"

volumes:

- "/home/docker-nginx/www:/home/www"

- "/home/docker-nginx/php:/usr/local/etc/php"

networks:

- net-app

networks:

net-app:

环境上线

docker-compose up -d

验证结果

访问host首页弹窗访问host/index.php显示phpinfo界面即为成功

以上是 Dockercompose部署nginx+php 的全部内容, 来源链接: utcz.com/z/520534.html

回到顶部