• windows7+docker搭建nginx和php-fpm环境(官方镜像)


    win7安装docker见上一篇文章

    准备工作:挂载本地磁盘到虚拟系统

    本地文件夹结构 E:docker

    nginx文件夹结构

    conf文件夹结构

    1、

    docker pull nginx

    docker pull php:7.1-fpm

    2、

    启动php容器

    docker run --name php7.1 -v /e/docker/html:/var/www/html -p 9000:9000 -d php:7.1-fpm

    3、

    启动nginx容器

    docker run -d -p 8080:80 --name nginx1 -v /e/docker/html:/var/www/html -v /e/docker/nginx/conf/conf.d:/etc/nginx/conf.d -v /e/docker/nginx/logs:/var/log/nginx  --link php7.1:php7.1 nginx

     如果docker ps发现nginx未启动, 执行 su -c "setenforce 0" ,不要添加 --privileged=true(要不然可能有文件权限问题)

    如果docker ps发现nginx未启动, 执行 su -c "setenforce 0" (临时方式关闭selinux,每次容器重启前都要执行),不要添加 --privileged=true(要不然可能有文件权限问题)

     可以选择永久关闭selinux

    cp /etc/selinux/config /etc/selinux/config.bak
    # cat /etc/selinux/config
    # 更改setlinux级别
    sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config
       #  ==> vim /etc/selinux/config/  --> SELINUX=permissive
    [效果同上] # SELINUX参数enforcing代表打开,disabled代表关闭 # 查看selinux状态: getenforce

      

    4、

    本地文件夹conf.d中添加 default.conf

    内容:

    server {
        listen       80;
        server_name  localhost;
    
        #charset koi8-r;
        #access_log  /var/log/nginx/host.access.log  main;
    
        location / {
            root   /var/www/html;
            index  index.html index.htm index.php;
        }
    
        #error_page  404              /404.html;
    
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /var/www/html;
        }
    
        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ .php$ {
            #proxy_pass   http://127.0.0.1;
        #}
    
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ .php$ {
            root           /var/www/html;
            fastcgi_pass   php7.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
    
        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        location ~ /.ht {
            deny  all;
        }
    }
    

      注意:php7.1为 php-fpm容器名称

    安装php扩展:

    docker exec -it php容器id /bin/bash

    使用  docker-php-ext-install pdo_mysql 进行安装

  • 相关阅读:
    堆栈平衡
    visual studio 代码片段
    查询系统所有句柄(可以筛选进程打开的全部句柄)
    nginx 代理
    vue publicPath 相对路径 绝对路径模式
    vue修改该项目浏览器顶部图片和title
    h5 端自适应显示屏宽度,更改body html字体,为rem使用做准备的js代码
    error: Unexpected console statement (noconsole) 解决办法
    flex justifycontent
    Echarts报“export ‘default‘ (imported as ‘echarts‘) was not found in ‘echarts‘错解决方法!
  • 原文地址:https://www.cnblogs.com/winstonsias/p/11211935.html
Copyright © 2020-2023  润新知