返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >设置 PHP-FPM 和 Nginx Docker 容器
  • 320
分享到

设置 PHP-FPM 和 Nginx Docker 容器

2024-02-27 21:02:28 320人浏览 安东尼
摘要

本文将讨论在 Docker 上进行本地开发时如何设置 PHP、php-FPM 和 Nginx 容器。 要点: 在命令行上构建和运行容器。 Docker 文件及其用途。 容器

本文将讨论在 Docker 上进行本地开发时如何设置 PHPphp-FPM 和 Nginx 容器

要点:

  1. 在命令行上构建和运行容器。
  2. Docker 文件及其用途。
  3. 容器如何交互。

确保您的设备上安装了 Docker 程序和 git Bash。


设置 PHP CLI 容器

我们将创建目录 C:/delft/docker-php/app,我们将在其中存储我们的源代码:


mkdir -p "C:/delft/docker-php/app"

在我们的教程中,我们将使用官方 PHP 图像。 我们运行下面的代码;


docker run -d --name docker-php -v "C:/delft/docker-php/app":/var/www php:7.0-cli

这意味着,

  1. docker run - 这将运行一个容器。
  2. -d - 它将在后台运行(分离)。
  3. --name docker-php - 这将指定 docker-php。
  4. -v "C:/delft/docker-php/app":/var/www - 这会将 windows 主机上的目录 C:/delft/docker-php/app 与容器中的 /var/www 同步。
  5. php:7.0-cli - 这将使用此图像来构建容器。

输出结果如下:


$ docker run -d --name docker-php -v "C:/delft/docker-php/app":/var/www php:7.0-cli
Unable to find image 'php:7.0-cli' locally

因为我们的机器没有镜像,Docker 将尝试从官方注册表中获取镜像。

我们运行 docker ps -a 命令来查看容器是否正在运行。

您会注意到容器在初始化后立即停止运行。 我们需要将 -i 参数添加到 docker run 命令。

在再次运行 docker run 命令之前,请运行以下命令。


$ docker rm docker-php

上面的命令删除了我们的第一个 docker-php,因为我们不能再次使用它。 我们现在可以使用 -i 标志运行 docker run 命令。


docker run -di --name docker-php -v "C:/delft/docker-php/app":/var/www php:7.0-cli
7b3024a542a2d25fd36cef96f4ea689ec7ebb758818758300097a7be3ad2c2f6

运行 docker ps -a 命令检查容器是否正在运行。

要登录,请运行以下命令;


winpty docker exec -it docker-php bash

使用 PHP-FPM 和 NGINX 设置 WEB 堆栈

现在让我们讨论如何设置 PHP-FPMNginx 容器。

设置 NGINX

我们首先获取一个服务器,该服务器将充当运行官方 Nginx 映像的容器。 我们将创建一个 docker-compose.yml 来运行我们最新的 Nginx 图像。 我们将使用端口 80 和 8080。


web:
 image: nginx:latest
 ports:
 - "8080:80"

然后我们运行 docker-compose up 命令。

输出:

nginx

让我们将 docker-compose.yml 文件挂载到本地存储库。 我们将使用我们的 docker-compose.yml 文件所在的文件夹 jiyik


web:
    image: nginx:latest
    ports:
        - "8080:80"
    volumes:
        - ./jiyik:/jiyik

此时,Nginx 并不知道我们的文件夹存在。 我们将使用以下 site.conf 文件来解决此问题。


server {
    index index.html;
    server_name php-docker.local;
    error_log  /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;
    root /delft;
}

我们需要激活设置。 让我们再修改 docker-compose.yml 文件。


web:
    image: nginx:latest
    ports:
        - "8080:80"
    volumes:
        - ./jiyik:/jiyik
        - ./site.conf:/etc/nginx/conf.d/site.conf

我们现在可以将 index.html 添加到我们的 jiyik 文件夹并运行下面的代码;


docker-compose up

我们的 Nginx 应该已经启动并运行了。

添加 PHP-FPM

下一步是获取官方的 PHP7-FPM,它将链接到我们的 Nginx 容器。 更新后的 docker-compose.yml 文件应如下所示。


web:
    image: nginx:latest
    ports:
        - "8080:80"
    volumes:
        - ./jiyik:/jiyik
        - ./site.conf:/etc/nginx/conf.d/site.conf
    links:
        - php
php:
    image: php:7-fpm

我们现在将配置 Nginx 容器以使用 PHP-FPM 容器解释 PHP 文件。 我们更新后的 site.conf 文件将读取,


server {
    index index.php index.html;
    server_name php-docker.local;
    error_log  /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;
    root /delft;

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}

让我们测试程序。 首先,我们将我们的 index.html 文件重命名为 index.php 并将内容更改为以下内容。


<?php
echo phpinfo();

在运行 docker-compose up 命令之前,我们必须将 jiyik 文件夹挂载到我们的 PHP 容器中。 我们的 docker-compose.yml 文件的最终迭代将读取,


web:
    image: nginx:latest
    ports:
        - "8080:80"
    volumes:
        - ./jiyik:/jiyik
        - ./site.conf:/etc/nginx/conf.d/site.conf
    links:
        - php
php:
    image: php:7-fpm
    volumes:
        - ./jiyik:/jiyik

运行 docker-compose up 命令会产生下图。

phpinfo

--结束END--

本文标题: 设置 PHP-FPM 和 Nginx Docker 容器

本文链接: https://lsjlt.com/news/569143.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 设置 PHP-FPM 和 Nginx Docker 容器
    本文将讨论在 Docker 上进行本地开发时如何设置 PHP、PHP-FPM 和 NGINX 容器。 要点: 在命令行上构建和运行容器。 Docker 文件及其用途。 容器...
    99+
    2024-02-27
  • 怎么配置nginx和php-fpm
    这篇文章主要讲解了“怎么配置nginx和php-fpm”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么配置nginx和php-fpm”吧!在php7中,最不可少的就是nginx和php-f...
    99+
    2023-06-20
  • nginx+php-fpm的安装和配置
    环境         虚拟机:VMware 16.2.4         OS:centos 7.6         远程连接工具:Xshell 7         nginx版本: nginx-1.14.2         php版本:p...
    99+
    2023-09-12
    服务器 nginx php linux
  • Docker部署php运行环境(php-fpm+nginx)
    前言 如果使用docker去部署一套php的运行环境,我们需要构建出nginx、php-fpm两个容器,nginx通过fast_cgi协议去转发php-fpm中的端口,从而实现web server的搭建,接下来以php的laravel框架为...
    99+
    2023-09-15
    docker php nginx php-fpm
  • nginx+php-fpm docker镜像合二为一
    在上一篇文章介绍了nginx+php-fpm,链接如下:https://www.cnblogs.com/xiao987334176/p/12918413.html nginx和php-fpm是2个独立的镜像,在实际环境部署过程中,...
    99+
    2023-01-31
    镜像 二为 php
  • nginx php-fpm安装配置
    nginx php-fpm安装配置 nginx本身不能处理PHP,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端。 nginx一般是把请求发fas...
    99+
    2023-09-02
    nginx php 运维
  • Linux系统安装nginx和php-fpm
    Linux系统安装nginx和php-fpm 安装nginx 步骤 安装epel源 yum -y install epel-release 安装nginx yum -y install nginx 启...
    99+
    2023-09-04
    nginx 运维
  • Docker容器配置Nginx实例分享
    这篇文章主要介绍了Docker容器配置Nginx实例分享的相关资料,需要的朋友可以参考下作为目前最火的应用,Docker 确实存在着其独到之处,无论是程序猿还是运维都应该听说过 Docker 的大名,Docker 已经走过了许多的坑,目前最...
    99+
    2023-06-05
  • nginx、php-fpm和mysql的用户权限如何配置
    这篇文章主要介绍了nginx、php-fpm和mysql的用户权限如何配置的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇nginx、php-fpm和mysql的用户权限如何配置文章都会有所收获,下面我们一起来看...
    99+
    2023-07-02
  • PHP Docker 和容器化
    docker 通过容器化使 php 应用程序在不同环境中实现一致、可移植的部署。它简化了部署、测试和可伸缩性:在本地机器上安装 docker。创建一个包含 dockerfile 的 ph...
    99+
    2024-05-05
    docker php laravel composer apache
  • nginx和php-fpm以root用户运行
    开启root权限,请谨慎使用!!! 为了使KodExplorer能读写root用户数据需要修改nginx,php-fpm运行用户为root,下面为修改笔记 nginx version: nginx/1...
    99+
    2023-09-04
    搞机
  • 使用Docker快速搭建Nginx+PHP-FPM+MySQL+phpMyAdmin环境
    环境介绍操作系统:centos 7.6docker版本:19.03.8ip地址:192.168.31.34 本文将介绍如何使用单机部署Nginx+PHP-FPM环境拉取镜像docker pull gaciaga...
    99+
    2023-01-31
    快速 环境 Nginx
  • 腾讯云Centos系统配置nginx+php74+php-fpm
    1, 下载php74, sudo yum list installed|grep php sudo yum remove php* -y sudo yum install https://dl.fedoraproject.org/p...
    99+
    2023-09-11
    php 腾讯云 centos
  • 如何设置php-fpm超时
    这篇文章将为大家详细讲解有关如何设置php-fpm超时,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。php-fpm nginx 超时参数设置php-fpm:request_terminate...
    99+
    2023-06-15
  • PHP-FPM、Nginx和FastCGI间的关系是什么
    这篇文章主要介绍了PHP-FPM、Nginx和FastCGI间的关系是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。PHP-FPM,Nginx,FastCGI 之间的关系...
    99+
    2023-06-15
  • Nginx与php-fpm的通信机制如何配置
    这篇文章主要介绍Nginx与php-fpm的通信机制如何配置,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!PHP-FPM 介绍CGI 协议与 FastCGI 协议每种动态语言( PHP,Python 等)的代码文件需...
    99+
    2023-06-29
  • 爱快docker安装PHP和Nginx
    本文章参考连接:Docker 安装 PHP | 菜鸟教程 安装PHP  1、搜索并下载PHP镜像   搜索一个带-fpm的php镜像并下载  2、创建PHP容器    安装Nginx 1、下载Nginx镜像    2、创建Nginx...
    99+
    2023-10-05
    php docker nginx
  • docker部署nginx+php-fpm环境访问动态文件404报错
    中午用docker不熟nginx+php-fpm 环境时,访问php文件报404 Not Found错误, 访问静态资源是可以正常访问返回码200。  查看容器日志 [root@hecs-136019 ~]# more /data/doc...
    99+
    2023-08-31
    nginx docker php
  • 使用Docker Compose、Nginx和MariaDB实现PHP应用程序的容器化
    导语:随着容器化技术的快速发展,越来越多的开发者开始关注使用Docker来进行应用程序的部署和管理。本文将介绍如何使用Docker Compose、Nginx和MariaDB实现PHP应用程序的容器化,并给出具体的代码示例,帮助读者更好地理...
    99+
    2023-10-21
    Docker nginx mariadb
  • docker安装nginx容器的方法
    目录1、自定义网络相关命令2、nginx是什么Nginx+tomcat是目前主流的java web架构3、安装nginx4、docker实战之通过nginx镜像来部署SPA项目5、n...
    99+
    2023-01-04
    docker安装nginx docker安装nginx配置
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作