zoukankan      html  css  js  c++  java
  • docker 部署 nginx+php+mysql

    系统:centos7

    使用root账户

    开放80端口

    firewall-cmd --zone=public --add-port=80/tcp --permanent

    安装docker

    yum install docker -y

    安装docker-compose

    yum install epel-release -y

    yum install -y python-pip

    pip install --upgrade pip  //更新pip

    pip install -U docker-compose

    部署nginx+php+mysql

    开启docker


    systemctl start docker

    cd /home

    mkdir www //网站目录

    mkdir conf //配置文件

    mkdir app //下载的应用

    //拉取官方镜像

    docker pull nginx:1.12.0 

    docker pull php:5.4-fpm

    docker pull mysql:5.6

    //下载到/home/app

    去php官网下载php5.4.45

    nginx官网下载nginx1.12.0

    phpmyadmin官网下载phpmyadmin找php对应版本

    都下载完并解压完成后,进入php文件

    cp php.ini-development /home/conf/php.ini

    进入nginx文件

    cp conf/nginx.conf /home/conf/nginx.conf

    cd /home/conf

    vi nginx.conf

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

    location ~ .php {//去除$
    root /var/www/html;
    fastcgi_pass fpm:9000;
    fastcgi_index index.php;
    fastcgi_split_path_info ^(.+.php)(.*)$;  //nginx添加path_info支持
    fastcgi_param PATH_INFO $fastcgi_path_info;//nginx添加path_info支持
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }

    cd /home/app

    复制phpmyadmin解压出来的文件到/home/www并改名为phpmyadmin  

    //编写docker-compose

    cd /home

    docker images //查看镜像id

    vi docker-compose.yml 

    version: '2'
    services:

    php:

       image: php镜像id

       ports:

           - 9000:9000

       volumes:

           - /home/www:/var/www/html

           - /home/conf/php.ini:/usr/local/etc/php/php.ini

       links:
           - mysql
       privileged: true

    nginx:
       image: nginx镜像id
       ports:
           - 80:80
       volumes:
           - /home/www:/usr/share/nginx/html
           - /home/conf/nginx.conf:/etc/nginx/nginx.conf
       links:
           - php:fpm
       privileged: true

    mysql:
       image: mysql镜像id
       ports:
          - 3306:3306
       volumes:
          - /home/data:/var/lib/mysql
       environment:
          - MYSQL_ROOT_PASSWORD=123
       privileged: true

    docker-compose编写完成后

    执行

    docker-compose up -d  //使容器后台运行

    docker exec -it home_mysql_1 bash  //进入mysql容器

    mysql -u -root -p

    密码:123

    执行 status

    查看 UNIX socket地址并复制

    执行use mysql

    update user set Host = '%' where User = 'root';

    flush privileges;

    完成后两次ctrl+d

    退出容器

    cd /home/conf

    vi php.ini

    搜索

    mysql.default

    mysqli.default

    pdo_mysql.default

    等号后加上复制出来的UNIX socket地址

    cd /home

    docker-compose restart

    cd www

    vi index.php

    <?php

      phpinfo();

    ?>

    查看php信息

    cd phpmyadmin

    vi config.sample.inc.php

    $cfg['Servers'][$i]['host'] = 'mysql';

    退出后config.sample.inc.php改名为config.inc.php

    从外部访问 http://ip地址/phpmyadmin/index.php
    登录mysql成功后即可完成


  • 相关阅读:
    经典回溯问题--八皇后dfs递归回溯求解【DFS】
    CSP认证考试(第九次)第一题
    C++字符串和数字格式转化(使用sprintf()和sscanf()函数)
    2016蓝桥杯C++A组第六题 寒假作业【暴力搜索】
    先序非递归建立二叉树
    sqlsrv数据库复杂语句1
    tp5域名配置
    JavaScript使用 value 属性
    数据库随机查询6条数据
    文件目录问题
  • 原文地址:https://www.cnblogs.com/ylqs/p/6902980.html
Copyright © 2011-2022 走看看