• Docker安装Nginx1.11.10+php7+MySQL


    Docker安装php-fpm

    1.编辑Dockerfile

    FROM php:7.1.3-fpm
    ADD sources.list /etc/apt/sources.list
    RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    RUN apt-get update && apt-get install -y 
         vim libfreetype6-dev libjpeg62-turbo-dev libmcrypt-dev libpng12-dev libmagickwand-dev libmagickcore-dev imagemagick && docker-php-ext-install -j$(nproc) iconv mcrypt && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && docker-php-ext-install -j$(nproc) gd RUN pecl install imagick-3.4.3 && docker-php-ext-enable imagick
    RUN docker-php-ext-install pdo_mysql mysqli

    2.同级目录下创建sources.list 使用163源

    [root@git php7]# cat sources.list
    deb http://mirrors.163.com/debian/ jessie main non-free contrib
    deb http://mirrors.163.com/debian/ jessie-updates main non-free contrib
    deb http://mirrors.163.com/debian/ jessie-backports main non-free contrib
    deb-src http://mirrors.163.com/debian/ jessie main non-free contrib
    deb-src http://mirrors.163.com/debian/ jessie-updates main non-free contrib
    deb-src http://mirrors.163.com/debian/ jessie-backports main non-free contrib
    deb http://mirrors.163.com/debian-security/ jessie/updates main non-free contrib
    deb-src http://mirrors.163.com/debian-security/ jessie/updates main non-free contrib
    

    3.构建本地镜像

    docker build -t php:7.1.3-fpm-chao .
    

    4.构建php-fpm容器

    docker run --name some-php -v /srv/www:/var/www/html -v /srv/php/php.ini:/usr/local/etc/php/php.ini -d php:7.1.3-fpm-chao
    

    5./srv/php/php.ini 目前仅设置了时区后期可以自己添加其他

    ######设置PHP的时区
    date.timezone = PRC
    

      

    Docker安装Nginx

    1.创建nginx的配置文件及映射路径

    mkdir -p /srv/nginx
    
    vim nginx.conf
    
    
    user  nginx;
    worker_processes  1;
    
    error_log  /var/log/nginx/error.log warn;
    pid        /var/run/nginx.pid;
    
    
    events {
        worker_connections  1024;
    }
    
    
    http {
        include       /etc/nginx/mime.types;
        default_type  application/octet-stream;
    
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
    
        access_log  /var/log/nginx/access.log  main;
    
        sendfile        on;
        #tcp_nopush     on;
    
        keepalive_timeout  65;
    
        #gzip  on;
    
        include /etc/nginx/conf.d/*.conf;
    }
    
    mkdir conf.d && cd conf.d
    vim default.conf
    server {
        listen       80;
        server_name  localhost;
    
        #charset koi8-r;
        #access_log  /var/log/nginx/log/host.access.log  main;
    
        location / {
            root   /var/www/html;
            index  index.html index.htm;
        }
    
        #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   /usr/share/nginx/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   php-fpm:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /var/www/html$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;
        #}
    }
    

    2.构建nginx容器

    docker run --name some-nginx -p 80:80 --link some-php:php-fpm -v /etc/localtime:/etc/localtime:ro -v /srv/nginx/logs:/var/log/nginx -v /srv/nginx/nginx.conf:/etc/nginx/nginx.conf -v /srv/nginx/conf.d:/etc/nginx/conf.d --volumes-from some-php -d nginx
    

      

    Docker安装MySQL

    docker run --name some-mysql -v /etc/localtime:/etc/localtime:ro -v /etc/mysql/conf.d/mysql.cnf:/srv/mysql/mysql.cnf -v /etc/mysql/mysql.conf.d/mysqld.cnf:/srv/mysql/mysqld.cnf -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d mysql:5.7.17
    

      

  • 相关阅读:
    用户态与内核态 & 文件流与文件描述符 简介【转】
    内核模块中filp->open对文件的读写【转】
    MSM8909的触摸屏驱动导致的熄屏后重新亮屏速度慢的原因!【转】
    从基本理解到深入探究 Linux kernel 通知链(notifier chain)【转】
    LTPS、IGZO、OLED都是什么?【转】
    NB-IoT有三种部署方式及特点【转】
    NB-IoT是怎么工作的,是否支持基站定位?【转】
    【Go入门教程9】并发(goroutine,channels,Buffered Channels,Range和Close,Select,超时,runtime goroutine)
    【Go入门教程8】interface(interface类型、interface值、空interface{}、嵌入interface、反射)
    【Go入门教程7】面向对象(method、指针作为receiver、method继承、method重写)
  • 原文地址:https://www.cnblogs.com/xuezhigu/p/6587448.html
Copyright © 2020-2023  润新知