linux使用docker安装php、nginx

17 篇文章 0 订阅
10 篇文章 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

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值