当前位置:首页 > 技术文章 > 正文内容

docker安装php

arlanguage5个月前 (12-14)技术文章42

本节将介绍在线使用Docker安装PHP解析器的步骤。通过本节的实操,您可以掌握从Docker环境的使用,PHP镜像以及Nginx服务器的拉取、导入、容器的启动的全部过程,从而具备使用Docker安装并部署PHP与ngninx的能力。本节要求您具备的基本能力有Linux,Docker,以及nginx.

PHP镜像下载

#为节约下载时间,可直接导入本地镜像
#docker pull php:7.1.30-fpm
docker load < /share/images/php:7.1.30-fpm.tar

验证

docker images

出现如下提示说明镜像pull成功了

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
php                 7.1.30-fpm          0b13895891aa        11 months ago       391MB

制作配置文件

创建~/nginx/conf/配置等目录:

mkdir -p ~/nginx/www ~/nginx/logs ~/nginx/conf

创建nginx配置文件

vim ~/nginx/conf/php.conf

在nginx配置文件中填入以下内容

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   php:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /www/$fastcgi_script_name;
        include        fastcgi_params;
    }
}

配置文件说明:

  • php:9000: 表示 php 服务的 URL。
  • /www/: 是 php 容器中 php 文件的存储路径,映射到本地的 ~/nginx/www 目录。

创建首页文件

在~/nginx/www目录下创建index.php首页文件,代码如下:

cat > ~/nginx/www/index.php << EOF 
<?php
   phpinfo();
?>
EOF

启动PHP容器和nginx容器

docker run --name myphp7 -v ~/nginx/www:/www -d php:7.1.30-fpm
docker load < /share/images/nginx.tar

docker run --name php-nginx -p 80:80 -v ~/nginx/www:/usr/share/nginx/html -v ~/nginx/conf:/etc/nginx/conf.d --link myphp7:php -d nginx

命令说明:

  • --name php : 将容器命名为 php。
  • -v ~/nginx/www:/www : 将右侧云环境中的目录~/nginx/www 挂载到容器的/www目录下

验证:

使用curl命令验证

curl localhost

或直接打开网址{host0.http_url}进行验证。

总结

通过本节我们在线完成了从PHP镜像的pull,到容器的运行,再通过nginx容器完成对php服务的访问。相信通过本节的在线实操,您能更好的掌握如何使用Docker安装PHP。

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/173.html

标签: php 5.6 nginx
分享给朋友:

“docker安装php” 的相关文章

Nginx 在微服务中的应用(9)

在微服务架构中,Nginx 通常作为反向代理服务器、负载均衡器和 API 网关,承担着多个关键角色。它可以帮助管理微服务之间的流量,确保请求的高效路由、负载均衡、流量控制、安全防护等。Nginx 由于其高性能、轻量级和配置灵活性,成为微服务架构中非常常见的组件。以下是 Nginx 在微服务中的几种主...

Nginx配置中root和alias分不清?本文3分钟帮你解惑

Nginx在配置映射路径的时候,有时候看到的是root,有时候看到的是alias,这两个有什么区别?本文笔者将带大家详细了解一下。什么是NginxNGINX 是全球最受欢迎的 Web 服务器之一,用于反向代理和负载均衡,还提供 HTTP 服务器功能,主要是为实现最大性能和稳定性而设计的。Ubuntu...

推荐一款 Nginx 可视化配置神器

Nginx 是前后端开发工程师必须掌握的神器。该神器有很多使用场景,比如反向代理、负载均衡、动静分离、跨域等等。把 Nginx 下载下来,打开 conf 文件夹的 nginx.conf 文件,Nginx 服务器的基础配置和默认的配置都存放于此。配置是让程序员非常头疼的事,比如 Java 后端框架...

nginx配置集群 -websocket

nginx配置集群 -websocket前几天做一个nginx的反向代理,来代理websocket。因为上线时间的问题,所以是单节点运行。现在准备做集群优化,然后上容器环境。这样就需要配置nginx的负载均衡。不废话了,下面是配置文件。当然配置后需要验证,验证的时候会出现很多奇怪的问题。这里就不进行...

了解PHP-FPM

在服务器上,当我们查看php进程时,全都是php-fpm进程,大家都知道这个就是php的运行环境,那么,它到底是个什么东西呢?PHP-FPM简介PHP-FPM,就是PHP的FastCGI管理器,用于替换PHP FastCGI的大部分附加功能,在PHP5.3.3后已经成为了PHP的标配。有小伙伴要问了...

nginx命令——学习记录 nginx详细教程

nginx命令--学习记录查看80端口是否被占用netstat -ntlpnginx命令#/usr/local/nginx/sbin/nginx 启动命令#/usr/local/nginx/sbin/nginx -t 检测配置文件 #/usr/local/nginx/sbin/ngin...