• Docker部署LAMP搭建wordpress博客系统


    LAMP是目前比较流行的web框架,即Linux+Apache+Mysql+PHP的网站架构方案。docker是目前非常流行的虚拟化应用容器,可以为任何应用创建一个轻量级、可移植的容器。现在我们就来通过docker来部署LAMP环境,并且搭建wordpress博客系统来测试。

    1、下载mysql、php-apache镜像

    docker pull mysql
    docker pull php:7.2-apache

    创建自定义网络lamp

    docker network create lamp
    docker network ls

     2、创建生成mysql、httpd-php容器的脚本
    vim docker_lamp.sh

    #!/bin/bash
    function mysql()
    {
        docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root daocloud.io/library/mysql:5.7.5 
        -v /data/docker/mysql/data:/var/lib/mysql 
        -v /data/docker/mysql/conf:/etc/mysql/conf.d -v /data/docker/mysql/logs:/logs 
    }
    
    function httpd_php()
    {
        docker run --name httpd-php --net lamp -p 80:80 
        -v /data/docker/httpd/conf:/etc/apache2/sites-enabled 
        -v /data/docker/www:/var/www/html 
        -v /data/docker/httpd/logs:/var/log/apache2 
        -d php:7.2-apache
    }
    $1

    3、启动mysql、httpd-php容器

    sh docker_lamp.sh mysql
    sh docker_lamp.sh httpd_php

    4、写一个php的首页文件来进行测试

    echo "<?php phpinfo(); ?>" > /data/docker/www/index.php

    通过浏览器访问http://10.0.0.11

    5、下载wordpress博客系统

    wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
    tar -zxvf wordpress-4.9.4-zh_CN.tar.gz -C /data/docker/www/

    6、配置wordpress博客
    浏览器访问http://10.0.0.11/wordpress 

     

     有个报错

    7、修改wp-config-sample.php配置

    cd /data/docker/www/wordpress/
    vim wp-config-sample.php #修改以下内容

    /** WordPress数据库的名称 */
    define('DB_NAME', 'wordpress');
    
    /** MySQL数据库用户名 */
    define('DB_USER', 'root');
    
    /** MySQL数据库密码 */
    define('DB_PASSWORD', '123456');
    
    /** MySQL主机 */
    define('DB_HOST', '10.0.0.11');
    
    /** 创建数据表时默认的文字编码 */
    define('DB_CHARSET', 'utf8');
    
    /** 数据库整理类型。如不确定请勿更改 */
    define('DB_COLLATE', '');

    再用浏览器访问http://10.0.0.11/wordpress

    查阅资料后发现,原来从PHP5.0开始就不推荐使用mysql_connect()函数了,而到了php7.0则直接废弃了该函数,替代的函数是mysqli_connect(),终于找到问题原因了。

    8、Call to undefined function mysql_connect()问题解决方法
    进入到mysql容器里安装mysqli扩展

    docker exec -it httpd-php /bin/bash
    apt-get update
    apt-get install libpng-dev
    cd /usr/local/bin/
    ./docker-php-ext-install gd mysqli
    ./docker-php-ext-enable gd mysqli
    exit
    docker restart httpd-php

    编写一个测试连接mysql的php
    vim /data/docker/www/test.php

    <?php
        echo "Hello PHP<br/>";
        $conn = mysqli_connect("10.0.0.11","root","123456");
        if(!$conn){
            echo "连接数据库失败";
        }else{
            echo "连接数据库成功";
        }
        phpinfo();
    ?>

     修改wp-db.php文件,将mysql_connect替换为mysqli_connect

    cd /data/docker/www/wordpress/
    sed -i "s/mysql_connect/mysqli_connect/g" wp-includes/wp-db.php
    mv wp-config.php wp-config-sample.php

    9、重新配置wordpress博客

    按前面的步骤填写完连接mysql的配置信息后,看到如下页面,表示mysql连接成功。

     需要手工创建wp-config.php文件,将以上信息贴入wp-config.php文件中
    vim /data/docker/www/wordpress/wp-config.php

     然后点击“现在安装”,出现以下页面

     输入完以上信息后,点击“安装WordPress”

     

     

  • 相关阅读:
    iOS APP上线流程
    iOS开发:cocoapods的使用
    Swift:函数和闭包
    OC中单例的各种写法及基本讲解
    iOS:死锁
    iOS传值方式:属性,代理,block,单例,通知
    iOS支付
    Binary Tree Preorder Traversal——经典算法的迭代求解(前序,中序,后序都在这里了)
    Largest Number——STL的深层理解
    const、volatile、mutable的用法
  • 原文地址:https://www.cnblogs.com/aqicheng/p/13432082.html
Copyright © 2020-2023  润新知