PHP基于docker环境安装

PHP(PHP: Hypertext Preprocessor)即“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法学习了C语言,吸纳JavaPerl多个语言的特色发展出自己的特色语法,并根据它们的长项持续改进提升自己,例如java的面向对象编程,该语言当初创建的主要目标是让开发人员快速编写出优质的web网站。 [1-2]  PHP同时支持面向对象和面向过程的开发,使用上非常灵活。

1、docker的nginx和PHP的镜像

docker pull nginx:latest(最新版本)

docker pull php:7.4-fpm

 

 2、1.创建容器

创建一个/docker/nginx/www/myphp目录,挂载PHP目录

docker run --name myphp -v /docker/nginx/www/myphp:/www/myphp -d 854be5bd67a6
mkdir -p /docker/nginx/www/myphp
  • -v代表挂载目录,将服务器外面的目录与创建的容器里的目录进行挂载,以后修改代码直接在容器外的服务器目录就可以修改了
  • -d代表后台运行
  • 854be5bd67a6代表php-fpm的镜像id,可通过docker images进行查看安装的镜像

3、查看运行的容器

docker ps

注释:(up字母表示的是容器运行状态,没有up说明没有运行成功 )

4、创建conf、conf.d目录

mkdir -p /docker/nginx/conf/conf.d,一定要用mkdir -p递归创建目录,即使上级目录不存在,会按目录层级自动创建目录

 

 5、创建自己的conf文件,并写入自己的配置conf文件可以自己命名,docker_php_cn.conf文件

server {
    listen       80;
    server_name  docker.zhangx.cn; #这里修改成自己的域名
    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;
    }

  #当请求网站下php文件的时候,反向代理到php-fpm
    location ~ \.php$ {
        fastcgi_pass   php:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /www/$fastcgi_script_name;
        include        fastcgi_params;
    }
}

6、创建运行nginx的容器并打通容器之间的相联

docker run --name nginx1 -p 8088:80 -d \
-v /docker/nginx/www:/usr/share/nginx/html \
-v /docker/nginx/conf/conf.d:/etc/nginx/conf.d \
--link myphp:php nginx
  • -p 主机和容器端口互联,主机8088:80
  • -v 目录挂载
  • -d 后台运行
  • --link nginx和php容器互联

 如果我们想进一步的修改nginx配置。我们可以使用​​docker exec -it  080ed0ed8312 \base\sh​​ 进去容器里修改对应配置  080ed0ed8312是容器的id

7、创建index.php
创建index.php,在docker/nginx/www创建即可

<?php
echo phpinfo();
?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值