首页 > 系统相关 >nginx容器与php-fpm容器连接方式

nginx容器与php-fpm容器连接方式

时间:2022-10-31 05:11:21浏览次数:73  
标签:容器 container fpm nginx conf docker php

文档说明:只记录关键地方;

获得nginx和php基础镜像的内默认配置文件

从容器镜像中拷贝文件到容器外

#!/bin/bash

set -eux
__DIR__=$(
  cd "$(dirname "$0")"
  pwd
)
cd ${__DIR__}



mkdir -p conf

image=nginx:alpine
container_id=$(docker create $image) # returns container ID
docker cp $container_id:/etc/nginx/nginx.conf conf/nginx-default.conf
docker cp $container_id:/etc/nginx/conf.d/default.conf conf/nginx-default-domain.conf
docker rm $container_id

image=wenba100xie/php:7.1-fpm-alpine-202008121444
container_id=$(docker create $image) # returns container ID
docker cp $container_id:/usr/local/etc/php-fpm.conf conf/7.1-fpm-alpine-php-fpm.conf
docker cp $container_id:/usr/local/etc/php/php.ini  conf/7.1-fpm-alpine-php.ini
lsdocker cp $container_id:/usr/local/etc/php-fpm.d/www.conf conf/7.1-fpm-alpine-www.conf
docker rm $container_id


cp conf/7.1-fpm-alpine-www.conf default.conf
cp conf/7.1-fpm-alpine-www.conf www.conf

修改配置: nginx 配置 关键点

/etc/nginx/conf.d/default.conf


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

    location ~* \.php$ {
        fastcgi_index   index.php;
        # fastcgi_pass    127.0.0.1:9000;
        fastcgi_pass    php-fpm:9000;  # 关键点:使用服务名称连接,而不是IP
        include         fastcgi_params;
        fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
    }

修改配置: php-fpm配置 关键点

/usr/local/etc/php-fpm.d/www.conf


; listen = 127.0.0.1:9000   ; 注释默认配置
  listen = 9000             ;这里是配置关键点

nginx 容器与PHP容器连接

容器之间网络默认使用 桥接 的方式连接
如果是K8S,nginx配置 fastcgi_pass 127.0.0.1:9000 这里不用修改

version: "3"
services:
    nginx-web:
        image: nginx:alpine
        container_name: nginx-web-server
        ports:
            - "80:80"
        depends_on:
            - php-fpm
        volumes:
            - ./web/:/usr/share/nginx/html/
            - ./default.conf:/etc/nginx/conf.d/default.conf
    php-fpm:
        image: wenba100xie/php:7.1-fpm-alpine-202008121444
        container_name: php-fpm-server
        expose:
            - 9000
        volumes:
            - ./web/:/usr/share/nginx/html/
            - ./www.conf:/usr/local/etc/php-fpm.d/www.conf


启动、关闭、查看日志

# 启动
docker-compose -f docker-compose.yaml up -d 
# 关闭
docker-compose -f docker-compose.yaml down --remove-orphans
# 查看日志
docker-compose -f docker-compose.yaml logs -f 

参考文档

  1. php Documentation
  2. php 所支持的时区列表
  3. nginx 配置php解释器参考
  4. Compose file
  5. 容器的5种网络模式
  6. 构建PHP容器
  7. 构建php的两种模式(php-fpm和php-cli)的运行环境

标签:容器,container,fpm,nginx,conf,docker,php
From: https://www.cnblogs.com/jingjingxyk/p/16842937.html

相关文章

  • 构建PHP容器
    文档说明:只记录关键地方;构建脚本php-cli-alpine#!/bin/shset-uxTIME=`date-u'+%Y%m%dT%H%M%SZ'`VERSION="7.4-cli-alpine-"${TIME}IMAGE="wenba100xie/php:${......
  • Spring-day02 容器的概念,容器中的对象,IOP入门
    springSpring框架是什么Spring是于2003年兴起的一个轻量级的Java开发框架,它是为了解决企业应用开发的复杂性而创建的。Spring的核心是控制反转(IoC)和面向切面编......
  • Docker使用中相关清理命令:删除容器与镜像
    在构建Docker镜像的过程中,会产生一些无用的窗口与镜像;在构建过程中也可能会遇到失败,需要进行清理。删除容器与镜像,一般需要先停止在运行中的容器。杀死所有正在运行的容......
  • nginx load balance
    loadbalancehttps://zhuanlan.zhihu.com/p/64777456 四层负载均衡(tcp)在三层负载均衡的基础上,用ip+port接收请求,再转发到对应的机器。七层负载均衡(http)根据虚拟......
  • Spring Framework之IOC容器的扩展点(TODO)
    坑,待填参考:​​​扩展Spring的几种方式​​​Spring中Bean的生命周期及其扩展点[Spring]Spring容器扩展点​​spring之扩展点​​SpringContainer的扩展点​​Spring架构......
  • Go 容器之队列的几种实现方式
    1队列的概念队列是有序集合,遵循FIFO(Firstinfirstout,即先进先出)排队方法的容器。添加操作发生在队列的尾部,移除操作则发生在头部。新元素从尾部进入队列,然后一直向前移......
  • 【博学谷学习记录】超强总结,用心分享|Python容器详解
    一、Python中容器的介绍容器:也可以称为是数据序列,或者高级数据类型,也是Python中的数据类型。容器中可以存放多个数据。Python中常用的容器有4种:list(列表)、......
  • 进入Pod中的容器
    查看帮助一、pod中只有1用户容器#只有一个容器时,进入时不需要指定容器,因为就是只有一个#test-pod为pod名称kubectlexec-ittest-pod-ntest--/bin/sh二、pod......
  • Nginx源码编译并运行
    获取源码包并解压登录http://nginx.org/en/download.htmlwgethttp://nginx.org/download/nginx-1.20.2.tar.gztar-zxvfnginx-1.20.2.tar.gz安装Nginxcdnginx-1.2......
  • nginx 客户端返回499的错误码
    我们服务器客户端一直有返回错误码499的日志,以前觉得比例不高,就没有仔细查过,最近有领导问这个问题,为什么耗时只有0.0几秒,为啥还499了?最近几天就把这个问题跟踪定位了一下,......