精华内容
下载资源
问答
  • eb-nginx-proxy-docker:eb-nginx-proxy-docker
  • docker run -v "`pwd`/php-fpm-settings.conf:/etc/php7/php-fpm.d/server.conf" trafex/php-nginx Note; Because -v requires an absolute path I've added pwd in the example to return the absolute path to the...
  • $ sudo docker build -t yourname/nginx-php . 跑步 Nginx 将在 /var/www 中查找文件,因此您需要将您的应用程序映射到该目录。 sudo docker run -d -p 8000:80 --volumes-from APPDATA -v /home/me/myphpapp:/...
  • 制作nginx+phpdocker镜像方法

    千次阅读 2017-07-05 10:56:25
    制作nginx+phpdocker镜像方法 一、准备安装的工具 工具: docker-17.06.0-ce、nginx-1.13.2、PHP-5.5.38 、supervisor 配置思路: 1.安装docker 2.源码安装nginxphp 3.使用Dockerfile 启动nginxphp 二、安装...
    制作nginx+php的docker镜像方法
    
    一、准备安装的工具
    工具:
    docker-17.06.0-ce、nginx-1.13.2、PHP-5.5.38 、supervisor

    配置思路:
    1.安装docker
    2.源码安装nginx、php
    3.使用Dockerfile 启动nginx、php

    二、安装docker
    https://docs.docker.com/engine/installation/linux/docker-ce/centos/

    三、制作容器
    1.获取一个centos镜像作为基础镜像
    docker pull centos

    docker run --net host -itd --name nginx centos bash
    (注意以下需要联网安装nginx、php,所以需要加入--net:host)

    2.进入centos的镜像,用yum安装以下内容:

    docker exec -it 镜像id

    yum install -y wget gcc gcc-c++ make openssl-devel

    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

    wget http://nginx.org/download/nginx-1.13.2.tar.gz

    wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz

    wget http://cn2.php.net/distributions/php-5.5.38.tar.gz

    3、更新yum源
    yum update

    4、复制源码包到工作目录下
    mv *.gz /usr/local/src
    cd /usr/local/src/

    5、解压源码包后并删除,建议删除,删除的目的是不要让最后的镜像过于的大;
    tar xf nginx-1.13.2.tar.gz
    tar xf pcre-8.37.tar.gz
    tar xf php-5.5.39.tar.gz
    rm -f nginx-1.13.2.tar.gz pcre-8.39.tar.gz php-5.5.38.tar.gz

    6、编译安装nginx:
    1)创建nginx用户
    groupadd -r www
    useradd -r -g www www

    2)编译安装nginx
    cd nginx-1.13.2/

    ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-pcre=/usr/local/src/pcre-8.39

    make && make install

    #在nginx的配置文件里加上这一行很关键,这样nginx可以在docker启动的时候在后台运行!
    echo "daemon off;" >> /usr/local/nginx/conf/nginx.conf    

    7、测试nginx启动
    修改nginx.conf;这个可以参考各种网上的资料;下面会给一个例子
    /usr/local/nginx/sbin/nginx -t     #检查没配置文件
    /usr/local/nginx/sbin/nginx         #启动nginx

    8、编译安装php
    1)准备php的依赖包
    yum install -y bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel libxml2-devel libcurl-devel bzip2-devel readline-devel libedit-devel libjpeg libpng freetype libjpeg-devel libpng-devel freetype-devel bzip2-devel curl-devel

    2)编译安装php,如果过程中报错,提示缺少什么安装包,就用yum安装。
    cd php-5.5.38/

    ./configure --prefix=/usr/local/php --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml-dir=/usr/local/libxml --enable-soap --enable-calendar --with-curl --with-mcrypt --with-zlib --with-gd  --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-pdo-mysql --with-mysqli --with-jpeg-dir=/usr/local/libjpeg --with-png-dir=/usr/local/libpng --enable-gd-native-ttf --with-openssl --with-fpm-user=www --with-fpm-group=www --with-libdir=lib64 --enable-ftp --with-imap --with-imap-ssl --with-kerberos --with-gettext --with-xmlrpc --with-xsl --enable-opcache --enable-fpm --enable-xml --enable-shmop --enable-session --enable-ctype --with-iconv-dir --with-iconv

    make && make install

    3)如果编译安装过程中报错,按照报错提示的去用yum解决依赖关系;如果当前的yum源解决不了,那么可以试试:
    wget http://www.atomicorp.com/installers/atomic
    chmod +x atomic
    ./atomic
    yum install -y XXX XXX
    备注:配置php是缺失很多文件的可以访问这个网址http://blog.csdn.net/sen_ice/article/details/74389572进行参考安装出现的问题

    4)准备php配置文件
    cp php.ini-production /etc/php.ini
    cd /usr/local/php/etc
    cp php-fpm.conf.default php-fpm.conf

    5)修改php-fpm.conf配置文件
    跟nginx里加一行的效果一样,为了启动docker时,php可以在后台运行
    ;daemonize = yes的注释去掉,并把yes改为no
    为了同一个用户可以访问web的权限统一修改为www(宿主的web文件访问权限也是www)
    修改为user=www group=www

    6)安装memcached
    wget https://pecl.php.net/get/memcache-2.2.7.tgz
    tar xf memcache-2.2.7.tgz
    cd memcache-2.2.7
    /usr/local/php/bin/phpize
    ./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir
    备注:如果出现缺失autoconfig,则yum install autoconfig

    一般在该目录有个modules的文件里面有memcache.so
    在php.ini里添加一行extension=/usr/local/php/lib/php/extensions/memcache.so

    7)测试php-fpm启动
    /usr/local/php/sbin/php-fpm -c /etc/php.ini -y /usr/local/php/etc/php-fpm.conf
    ps -ef | grep php-fpm

    9、安装supervisor
    yum install -y python-setuptools
    easy_install supervisor

    10、整理,删除,清理yum缓存,退出容器
    cd /usr/local/src/
    rm -fr *
    make clean
    yum clean all
    exit

    11、提交容器
    docker commit -m "nginx-php" nginx kenny/nginx:v1

    容器配置已经完成,由于docker是一个容器运行一个进程,由于我们要启动nginx、php有两种方法可以使用,一使用写脚步,二使用supersion,接下来配置Dockerfile。

    三、配置镜像运行
    1.在宿主机下创建一个nginx目录,宿主也需要安装supervisor
    mkdir /home/nginx/docker
    cd /home/nginx/docker
    yum install -y python-setuptools
    easy_install supervisor
    echo_supervisord_conf > supervisord.conf

    1、Dockefile如下:,并到目录下vim Dockefile
    FROM kenny/nginx:v1
    ADD supervisor.conf /etc/supervisord.conf
    EXPOSE 80 443
    CMD ["/usr/bin/supervisord"]

    2、其中supervisor.conf内容为:
    [supervisord]
    nodaemon=true
    [program:nginx]
    command=/usr/local/nginx/sbin/nginx
    [program:php-fpm]
    command=/usr/local/php/sbin/php-fpm -c /etc/php.ini -y /usr/local/php/etc/php-fpm.conf

    3、运行Dockerfile
    docker build -t kenny/nginx-php .

    已经完成镜像
    docker run -d --name nginx-php -p 80:80 kenny/nginx-php

    使用命令docker ps -a 查看下这个容器是否正常启动,如果有问题,可以docker logs -f nginx-php 查看下这个容器启动在哪里出了问题。

    四、nginx-php容器的使用技巧
    cd /home/nginx
    1、创建几个新的目录
    mkdir {log,php.conf,data,conf} -p

    log->nginx的日志文件映射;
    php.conf->php的配置文件映射;
    data->web的文件目录;
    conf->nginx的配置文件;


    2、nginx.conf示例
     
      user www www;
      worker_processes 1;

      events {
        worker_connections 1024;
      }

      http {

        server {
          listen 80 default_server ;
          server_name test.lala.com ;

          location / {
            root /usr/share/nginx/web;
            index index.html index.htm index.php api/login.php;
          }

          error_page 500 502 503 504 /50x.html;
          location = /50x.html {
            root /usr/share/nginx/web;
          }

          location ~ \.php$ {
            root html;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME /usr/share/nginx/web/$fastcgi_script_name;
            include fastcgi_params;
          }

        }

      }

      daemon off;

    3、在/data/nginx/conf下准备好nginx.conf 在/data/nginx/php.conf 目录下准备好php.ini和php-fpm.conf ;之后启动容器的时候可以用命令:

      docker run -d --name nginx-php -v /etc/localtime:/etc/localtime:ro --restart=always -p 80:80 -v /data/nginx/log:/usr/local/nginx/logs/ -v /data/nginx/php.conf/php.ini:/etc/php.ini -v /data/nginx/php.conf/php-fpm.conf:/usr/local/php/etc/php-fpm.conf -v /data/nginx/data:/usr/share/nginx/web -v /data/nginx/conf:/usr/local/nginx/conf/  Tom/nginx-php

    4、更新nginx下的web文件,直接更新宿主机上/data/nginx/data/目录下的文件

    5、如果要修改nginx的配置文件,直接在宿主机上的/data/nginx/conf目录下修改nginx.conf ;修改完成后,你可以使用下面命令:

      docker exec nginx-php /usr/local/nginx/sbin/nginx -t                              #检查配置文件是否正确

      docker exec nginx-php /usr/local/nginx/sbin/nginx -s reload        #让容器里的nginx重新读取nginx配置文件

    6、如果要修改php的配置文件,直接在宿主机上的/data/nginx/php.conf目录下修改php.ini或者修改php-fpm.conf ;修改完成后要重启容器才能生效

      docker restart nginx-php

    7、容器里的nginx日志输出映射到了宿主机上的/data/nginx/log目录下

     

    参考:http://www.cnblogs.com/zuowei1024/p/6375548.html,进行修改
    展开全文
  • 新地址:...获取镜像:docker pull haojiliang/nginx-php-fpm-alpine:v1.15.7 nginx 1.15.7 php 7.0.33 php-fpm alpine 3.7 镜像大小:83.9MB 文件路径及端口等配置都和 nginx 官方镜像一样,在 php...

    新地址:https://blog.iaiot.com/nginx-php-fpm-alpine.html

    获取镜像:docker pull haojiliang/nginx-php-fpm-alpine:v1.15.7

    nginx 1.15.7
    php 7.0.33
    php-fpm
    alpine 3.7

    镜像大小:83.9MB

    文件路径及端口等配置都和 nginx 官方镜像一样,在 php 官方镜像基础上加了 php 扩展和 nginx

    Dockerfile:https://github.com/haojiliang/nginx-php-fpm-alpine

    Docker Hub:https://hub.docker.com/r/haojiliang/nginx-php-fpm-alpine/

    展开全文
  • nginx+lua+docker+docker-compose实现简单服务分发
  • 我将使用dockernginx设置一个非常简单的php页面。 源文件可以在这里找到: 文件夹配方02中的https://github.com/ikknd/docker-study 1.创建项目文件夹设置: /var/www/docker-study.loc/recipe-02 -> /docker...

    我将使用docker和nginx设置一个非常简单的php页面。

    源文件可以在这里找到:

    文件夹配方02中的https://github.com/ikknd/docker-study

    1.创建项目文件夹设置:

    /var/www/docker-study.loc/recipe-02
    	-> /docker
    	-> /php

    在“ php”文件夹中,我将创建执行phpinfo()的index.php文件。

    2.在“ docker”文件夹中创建nginx config site.conf:

    server {
        server_name myapp.loc;
    
        root /var/www/myapp;
        index index.php index.html index.htm;
    
        access_log /var/log/nginx/back-access.log;
        error_log /var/log/nginx/back- error .log;
    
        location / {
            try_files $uri $uri / /index.php? $query_string ;
        }
    
        # PHP-FPM Configuration Nginx
        location ~ \.php$ {
            try_files $uri = 404 ;
            fastcgi_split_path_info  ^(.+\.php)(/.+)$ ;
            fastcgi_pass php: 9000 ;
            fastcgi_index index.php;
            include fastcgi_params;
            fastcgi_param REQUEST_URI $request_uri ;
            fastcgi_param SCRIPT_FILENAME $document_root $fastcgi_script_name ;
            fastcgi_param PATH_INFO $fastcgi_path_info ;
        }
    }

    fastcgi_pass php:9000; -这就是告诉nginx如何连接到php容器的原因

    3.在主机上编辑/ etc / hosts文件,并添加一条记录:

    127.0.0.1       myapp.loc

    4.在“ docker”文件夹中创建docker-compose.yml文件:

    version: "3.7"
    
    services:
    
      web:
        image: nginx:1.17
        ports:
          - 80 :80
        volumes:
          - /var/www/docker-study.loc/recipe-02/php:/var/www/myapp
          - /var/www/docker-study.loc/recipe-02/docker/site.conf:/etc/nginx/conf.d/site.conf
        depends_on:
          - php
    
      php:
        image: php:7.2-fpm
        volumes:
          - /var/www/docker-study.loc/recipe-02/php:/var/www/myapp
          - /var/www/docker-study.loc/recipe-02/docker/php.ini:/usr/local/etc/php/php.ini

    我在这里做几件事:

    • 我使用自己的php.ini文件,将其复制到php容器中,因此,如果需要更改某些设置,只需在php.ini中进行更改并重新启动容器
    • 如果我在index.php文件中的php代码中进行了更改,则无需重新启动容器,更改将在重新加载浏览器页面后立即应用。
    • “ depends_on”-阻止容器在它所依赖的其他容器之前启动

    5.转到/var/www/docker-study.loc/recipe-02/docker/并执行:

    docker-compose up -d

    如果现在在浏览器中尝试myapp.loc/ ,我将看到php info结果。

    From: https://hackernoon.com/nginx-php-docker-how-to-get-php-page-up-with-local-domain-name-ho3x33f6

    展开全文
  • docker 1.91 版本  2.centos的官方docker镜像作为基础镜像  3.nginx-1.9.12;php-5.5.34;supervisor 思路:  docker镜像的制作有2种方法,一种是启动一个容器并在容器里操作,再将容器提交为一个新的镜像;...

    一、准备工作:

    使用工具:

      1. docker 1.91 版本

      2.centos的官方docker镜像作为基础镜像

      3.nginx-1.9.12;php-5.5.34;supervisor

    思路:

      docker镜像的制作有2种方法,一种是启动一个容器并在容器里操作,再将容器提交为一个新的镜像;一种是写Dockerfile,然后执行dockerfile由docker给我们一步步自动生成新的镜像;显然第二种方法更高大上,也更适合容器需要不断版本更替的场景。本人在安装nginx和php的时候,更习惯自己下载源码编译安装,所以编译安装这里写Dockerfile实在是繁琐,而且nginx+php并不是需要频发更替版本,通常在制作容器前,跟开发确定好版本号,制作好容器可以一直使用;所以以下的操作,前半部分,nginx和php的安装在容器里操作;最后让nginx和php同时启动起来则是写了一个Dockerfile。

    两种方式构建镜像的主要步骤:

    1. 从容器构建镜像(以下简称容器镜像
      • 创建一个容器,比如使用 tomcat:latest 镜像创建一个tomcat-test容器
      • 修改tomcat-test容器的文件系统,比如修改tomcat的server.xml文件中的默认端口
      • 使用commit命令提交镜像
    2. 使用Dockerfile构建镜像(以下简称Dockerfile镜像
      • 编写Dockerfile文件
      • 使用build命令构建镜像

    两种构建镜像方式的区别:

    1. 容器镜像的构建者可以任意修改容器的文件系统后进行发布,这种修改对于镜像使用者来说是不透明的,镜像构建者一般也不会将对容器文件系统的每一步修改,记录进文档中,供镜像使用者参考。
    2. 容器镜像不能(更准确地说是不建议)通过修改,生成新的容器镜像。
      从镜像运行容器,实际上是在镜像顶部上加了一层可写层,所有对容器文件系统的修改,都在这一层中进行,不影响已经存在的层。比如在容器中删除一个1G的文件,从用户的角度看,容器中该文件已经没有了,但从文件系统的角度看,文件其实还在,只不过在顶层中标记该文件已被删除,当然这个标记为已删除的文件还会占用镜像空间。从容器构建镜像,实际上是把容器的顶层固化到镜像中。
      也就是说, 对容器镜像进行修改后,生成新的容器镜像,会多一层,而且镜像的体积只会增大,不会减小。长此以往,镜像将变得越来越臃肿。Docker提供的 exportimport 命令可以一定程度上处理该问题,但也并不是没有缺点。
    3. 容器镜像依赖的父镜像变化时,容器镜像必须进行重新构建。如果没有编写自动化构建脚本,而是手工构建的,那么又要重新修改容器的文件系统,再进行构建,这些重复劳动其实是没有价值的。
    4. Dockerfile镜像是完全透明的,所有用于构建镜像的指令都可以通过Dockerfile看到。甚至你还可以递归找到本镜像的任何父镜像的构建指令。也就是说,你可以完全了解一个镜像是如何从零开始,通过一条条指令构建出来的。
    5. Dockerfile镜像需要修改时,可以通过修改Dockerfile中的指令,再重新构建生成,没有任何问题。
    6. Dockerfile可以在GitHub等源码管理网站上进行托管,DockerHub自动关联源码进行构建。当你的Dockerfile变动,或者依赖的父镜像变动,都会触发镜像的自动构建,非常方便。

    二、制作容器

    1、启动一个centos容器作为基础镜像

      docker pull centos 

      docker run -it --name nginx centos bash

    2、这样就创建了一个以centos的官方镜像为基础的容器,并进如容器;在容器里用yum安装wget命令和编译安装需要的命令,更新国内yum源,下载Nginx,php源码

      yum install -y wget gcc gcc-c++ make openssl-devel

      wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

      wget http://nginx.org/download/nginx-1.9.12.tar.gz

      wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.gz

      wget http://cn2.php.net/distributions/php-5.5.34.tar.gz

    3、更新yum源

      yum update

    4、复制源码包到工作目录下

      mv *.gz /usr/local/src

      cd /usr/local/src/

    5、解压源码包后并删除,建议删除,删除的目的是不要让最后的镜像过于的大;tar自带参数,解压同时删除,忘记了。。

      tar xf nginx-1.9.12.tar.gz

      tar xf pcre-8.37.tar.gz

      tar xf php-5.5.34.tar.gz

      rm -f nginx-1.9.12.tar.gz pcre-8.37.tar.gz php-5.5.34.tar.gz

    6、编译安装nginx:

      1)创建nginx用户

        groupadd -r nginx

        useradd -r -g nginx nginx

      2)编译安装nginx

        cd nginx-1.9.12/

        ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-pcre=/usr/local/src/pcre-8.37

        echo "daemon off;" >> /usr/local/nginx/conf/nginx.conf    #在nginx的配置文件里加上这一行很关键,这样nginx可以在docker启动的时候在后台运行!

    7、编译安装php

      1)准备php的依赖包

        yum install -y bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel libxml2-devel libcurl-devel bzip2-devel readline-devel libedit-devel sqlite-devel 

      2)编译安装php,如果过程中报错,提示缺少什么安装包,就用yum安装。

        cd php-5.5.34/

        ./configure --prefix=/usr/local/php --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml-dir=/usr/local/libxml --enable-soap --enable-calendar --with-curl --with-mcrypt --with-zlib --with-gd  --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-pdo-mysql --with-mysqli --with-jpeg-dir=/usr/local/libjpeg --with-png-dir=/usr/local/libpng --enable-gd-native-ttf --with-openssl --with-fpm-user=www --with-fpm-group=www --with-libdir=lib64 --enable-ftp --with-imap --with-imap-ssl --with-kerberos --with-gettext --with-xmlrpc --with-xsl --enable-opcache --enable-fpm --enable-xml --enable-shmop --enable-session --enable-ctype --with-iconv-dir --with-iconv

        make && make install

      3)如果编译安装过程中报错,按照报错提示的去用yum解决依赖关系;如果当前的yum源解决不了,那么可以试试:

        wget http://www.atomicorp.com/installers/atomic

        chmod +x atomic

        ./atomic 

        yum install -y XXX XXX

      4)准备php配置文件

        cp php.ini-production /etc/php.ini

        cd /usr/local/php/etc

        cp php-fpm.conf.default php-fpm.conf

      5)修改php配置文件,跟nginx里加一行的效果一样,为了启动docker时,php可以在后台运行

        ;daemonize = yes的注释去掉,并把yes改为no

      6)安装php扩展,php的扩展很多,安装方法也都大同小异,一下以memcached扩展为例

        wget https://pecl.php.net/get/memcache-2.2.7.tgz

        tar xf memcache-2.2.7.tgz

        cd memcache-2.2.7

        /usr/local/php/bin/phpize

        ./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir

        在php.ini里添加一行extension=/usr/local/php/lib/php/extensions/memcache.so

      7)测试php-fpm启动

        /usr/local/php/sbin/php-fpm -c /etc/php.ini -y /usr/local/php/etc/php-fpm.conf

        ps -ef | grep php-fpm

    8、整合nginx跟php

      修改nginx.conf;这个可以参考各种网上的资料;下面会给一个例子

      /usr/local/nginx/sbin/nginx -t     #检查没配置文件

      /usr/local/nginx/sbin/nginx         #启动nginx

    9、整理,删除,清理yum缓存,退出容器

      cd /usr/local/src/

      rm -fr *

      make clean

      yum clean all

      exit

    10、提交容器

      docker commit -m “nginx-php” nginx Tom/nginx:v1

      到此,容器基本就已经制作完成了,接下来就是最重要的地方了,docker奉行的是一个容器跑一个进程的思想,所以启动容器的时候一般也只能启动一个进程或者一个脚本;而nginx跟php要能同时工作,需要再在此基础上做些工作!

      一般有2个方法,一种是写脚本,但是没有成功。。所以用了supervisor,一个可以管理进程的工具。接下来会使用Dockefile完成最后的工作

    三、让镜像跑起来

    1、Dockefile如下:在宿主机下创建一个nginx目录,并到目录下vim Dockefile

      FROM Tom/nginx:v1

      # Install supervisor
      RUN yum install -y python-setuptools
      RUN easy_install supervisor

      ADD supervisor.conf /etc/supervisord.conf

      EXPOSE 80 443

      CMD ["/usr/bin/supervisord"]

    2、其中supervisor.conf内容为:

      [supervisord]
      nodaemon=true

      [program:nginx]
      command=/usr/local/nginx/sbin/nginx

      [program:php-fpm]
      command=/usr/local/php/sbin/php-fpm -c /etc/php.ini -y /usr/local/php/etc/php-fpm.conf

    3、运行Dockerfile

      docker build -t Tom/nginx-php .

      到这里,这个镜像就完成了,可以简单的测试一下:

      docker run -d --name nginx-php -p 80:80 Tom/nginx-php

      然后用命令docker ps -a 查看下这个容器是否正常启动,如果有问题,可以docker logs -f nginx-php 查看下这个容器启动在哪里出了问题。

    四、nginx-php容器的使用技巧

    1、创建几个新的目录

      mkdir /data/nginx/{log,php.conf,data,conf} -p

      其中log目录我打算把nginx的日志映射到这个目录下,php.cof目录我打算把php的配置文件映射到这个目录下,data目录我打算把网页文件映射到这个目录下,conf我打算把nginx的配置文件映射到这个目录下

    2、nginx.conf示例

      worker_processes 1;

      events {
        worker_connections 1024;
      }

      http {

        server {
          listen 80 default_server ;
          server_name test.lala.com ;

          location / {
            root /usr/share/nginx/web;
            index index.html index.htm index.php api/login.php;
          }

          error_page 500 502 503 504 /50x.html;
          location = /50x.html {
            root /usr/share/nginx/web;
          }

          location ~ \.php$ {
            root html;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME /usr/share/nginx/web/$fastcgi_script_name;
            include fastcgi_params;
          }

        }

      }

      daemon off;

    3、在/data/nginx/conf下准备好nginx.conf 在/data/nginx/php.conf 目录下准备好php.ini和php-fpm.conf ;之后启动容器的时候可以用命令:

      docker run -d --name nginx-php -v /etc/localtime:/etc/localtime:ro --restart=always -p 80:80 -v /data/nginx/log:/usr/local/nginx/logs/ -v /data/nginx/php.conf/php.ini:/etc/php.ini -v /data/nginx/php.conf/php-fpm.conf:/usr/local/php/etc/php-fpm.conf -v /data/nginx/data:/usr/share/nginx/web -v /data/nginx/conf:/usr/local/nginx/conf/  Tom/nginx-php

    4、更新nginx下的web文件,直接更新宿主机上/data/nginx/data/目录下的文件

    5、如果要修改nginx的配置文件,直接在宿主机上的/data/nginx/conf目录下修改nginx.conf ;修改完成后,你可以使用下面命令:

      docker exec nginx-php /usr/local/nginx/sbin/nginx -t                              #检查配置文件是否正确

      docker exec nginx-php /usr/local/nginx/sbin/nginx -s reload        #让容器里的nginx重新读取nginx配置文件

    6、如果要修改php的配置文件,直接在宿主机上的/data/nginx/php.conf目录下修改php.ini或者修改php-fpm.conf ;修改完成后要重启容器才能生效

      docker restart nginx-php

    7、容器里的nginx日志输出映射到了宿主机上的/data/nginx/log目录下

    展开全文
  • Docker撰写Nginx PHP-FPM
  • Nginx学习笔记 基于docker

    千次阅读 多人点赞 2020-08-04 14:53:19
    根据B站视频做的笔记,链接如下 2020最新 Nginx教程全面讲解(Nginx快速上手) Nginx介绍 1.1引言 ...Nginx是由俄罗斯人研发的,应对Rambler的网站并发,并且2004年发布的第一个版本 Nginx的特点 1.稳定
  • docker_laravel_nginx_mysql Docker容器上的laravel应用程序 只需在文件夹中运行 docker-compose up -d
  • nginx-php-fpm docker环境

    2018-08-14 16:44:40
    nginx-php docker环境,只要安装docker就可以一键生成web环境
  • Nginx + HHVM docker 容器 这是一个带有 Nginx 和 HHVM镜像。 包括的东西: - HHVM HHVM 版本 3.6-dev(下一个 LTS - 长期支持)从 CentOS-7 上的源代码构建。 注意:如果你想自己构建它,需要一段时间.........
  • Nginx+Django+Docker

    2019-04-29 20:20:38
    Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。 其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例...
  • PHP Docker 镜像 主机一般都是直接yum配置好的Nginx+PHP-FPM+Mysql,由于业务需要,原本环境里面的php7,不能兼容遗留的php5.x的老程序了,但是又想在同一主机上跑起来,问题来了: 现有直接安装的Nginxphp7-fpm...
  • Docker Piwik Nginx映像(francoisp / piwik) 由francoisp维护 该图像的脚本源自marvambass的Piwik图像。 它具有足够的状态以可重新启动,并且为了清晰起见,它直接基于nginx参考图像。 它会从piwik网站下载piwik...
  • <p>I found a similar question <a href="https://stackoverflow.com/questions/43644963/multiple-versions-of-php-through-nginx-in-docker">here</a> but it didn't quite answer my question.</p> <p>I've ...
  • laravel-nginx-node-docker laravel的docker配置,以通过Node.js将事件广播到javascript 如何安装 拉仓库 作曲家安装 npm安装 码头工人组成 转到URL 并在浏览器中打开开发工具 在另一个标签中,转到URL 现在在带...
  • 我用的本机的Nginx,然后用Docker在本机建了个PHP7的环境,php-fpm在Docker中启动了,也映射了端口,宿主机9200映射为容器中的9000,也加了代码目录到数据卷,但是用本机nginx访问docker里的php里报错,nginx访问...
  • HHVM (3.7.1)、Nginx、Ubuntu 15.04“Vivid”上的新遗物 来自 github.com 上的 Joostvanderlaan/dockerfiles 和 nikolaplejic/docker.hhvm 的一些想法使用@chregu hhvm 扩展构建示例混合了一些新的遗物 地位 这个...
  • Nginx正向代理提供服务的超快速,经过生产硬化的HHVM / PHP-7 Dockerfile 。 请参阅以了解原因。 非常适合在Docker容器集群中运行的水平分布Laravel应用程序。 请注意,由于Boot2Docker和VirtualBox在本地环境...
  • 参与-站点docker 在某些情况下,您或您的团队不想在开发时使用许多Docker容器。 入门 检出此存储库: $ git clone https://github.com/mbunge/multi-site-docker.git 复制.env.example并将其命名为与docker-...
  • 沙盒docker-phpinfo-apache 撰写 $ docker-compose up -d ... php-fpm $ docker build -t sandbox-phpinfo-phpfpm ./phpfpm ...$ docker run --name nginx -p 80:80 --link phpfpm:php -d sandbox-phpinfo-nginx
  • docker run -d --name nginx-phpfpm --link your-container-phpfpm:phpfpm stan/nginx-phpfpm 启动一个 nginx 实例,其卷映射到 nginx 的文档根目录(与 PHP-FPM 容器相同的卷) docker run -d --name nginx --...
  • docker 配置 nginx+ php docker 的安装 请查看 centos7安装 centos8安装 查看nginx 镜像 命令行 `docker search nginx 官网查看 Link 执行命令 docker pull nginx 下载nginx 镜像 执行命令 docker images ...
  • 主要介绍了docker Nginx PHP-FPM单机站点布署的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • PHP-FPM 和 Nginx Docker 镜像 基于对(最新)PHP-FPM和Nginx的Lightwight泊坞窗图像 图像大小只有 ~100MB ! 非常新的包 (alpine:edge) 2015-04-03: 5.6.7 1.6.2 用法 sudo docker run -v /data:/DATA -p 80:80...
  • Docker 安装nginx+php5.6

    2021-07-23 17:02:32
    1.查找DockerHub上的 nginx 镜像 docker search nginx 2.拉取nginx镜像 docker pull nginx 3.查看我们拉取到本地的nginx镜像 docker images php5.6镜像 1.查找DockerHub上的 php镜像 dock...
  • Nginx and PHP and Laravel for Docker 版本 Nginx: 1.15.3 php: 7.4.16 composer: 1.7.3 Docker Hub Nginx-PHP-Laravel: 配置信息 软件目录 : /server/ laravel目录: /web-data/ 日志目录: /var/log/ 安装使用 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,646
精华内容 7,058
关键字:

nginxphp多版本docker