美文网首页
linux使用docker安装php、nginx

linux使用docker安装php、nginx

作者: 懒人程序猿 | 来源:发表于2020-05-17 13:25 被阅读0次

拉取php镜像,下面以7.2版本为例。也可拉取指定版本的镜像php:5.6-fpm、php:latest等

docker pull php:7.2-fpm

拉取nginx镜像,这里直接拉取最新的镜像版本

docker pull nginx:latest

添加PHP容器

# /docker/nginx/default/www 是PHP容器映射宿主机目录
docker run --name php -p 9000:9000 -v /docker/nginx/default/www:/www -d php:7.2-fpm

添加nginx容器

# /docker/nginx/default/www 是容器映射宿主机的可执行文件目录
# /docker/nginx/default/conf/conf.d 是容器映射宿主机配置文件目录
# /docker/nginx/default/logs 是容器映射宿主机lgo文件目录
docker run --name nginx -p 80:80 -d \
-v /docker/nginx/default/www:/usr/share/nginx/html:ro \
-v /docker/nginx/default/conf/conf.d:/etc/nginx/conf.d:ro \
-v /docker/nginx/default/logs:/var/log/nginx \
nginx

查看PHP容器IP

docker inspect --format '{{ .NetworkSettings.IPAddress }}' php
# 172.17.0.4

编辑nginx配置文件
在/docker/nginx/default/conf/conf.d目录下新建default.conf,内容如下
fastcgi_param SCRIPT_FILENAME /www/$fastcgi_script_name; 这里的(/www/)指的是PHP容器
php文件执行目录。和启动的PHP容器指向的目录保持一致。
fastcgi_pass 172.17.0.4:9000;PHP容器IP及端口

server {
    listen       80;
    server_name  localhost;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm index.php;
    }

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

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

重启nginx容器

docker restart nginx容器ID

/docker/nginx/default/www 目录下添加index.php

<?php
echo phpinfo();

浏览器访问127.0.0.1


image.png

相关文章

网友评论

      本文标题:linux使用docker安装php、nginx

      本文链接:https://www.haomeiwen.com/subject/jdojohtx.html