zoukankan      html  css  js  c++  java
  • 基于docker搭建wordpress博客网站平台

    WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统(CMS)来使用。

    WordPress是一款个人博客系统,并逐步演化成一款内容管理系统软件,它是使用PHP语言和MySQL数据库开发的。用户可以在支持 PHP 和 MySQL数据库的服务器上使用自己的博客。

    WordPress有许多第三方开发的免费模板,安装方式简单易用。不过要做一个自己的模板,则需要你有一定的专业知识。比如你至少要懂的标准通用标记语言下的一个应用HTML代码CSSPHP等相关知识。

    WordPress官方支持中文版,同时有爱好者开发的第三方中文语言包,如wopus中文语言包。WordPress拥有成千上万个各式插件和不计其数的主题模板样式。

                基于docker构建wordpress博客网站平台

    1. 自定义网络

    [root@docker ~]# docker network create lnmp

    2b4217d39d5e438f1012c39a892053460c8cddf4d2f59e8e24161617fd3834b1

    [root@docker ~]# docker network ls

    NETWORK ID          NAME                DRIVER              SCOPE

    e954af0a31d1        bridge              bridge              local

    8ec99c72fcb1        host                host                local

    2b4217d39d5e        lnmp                bridge              local

    a35525e0158b        none                null                local

    2.创建mysql数据库容器

    [root@docker ~]# docker run -itd --name lnmp_mysql --net lnmp -p 3306:3306 --mount src=mysql-vol,dst=/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql --character-set-server=utf8

    62a0bccd72a303f4c375a36f5523b6383aeb0c6a76c358c59410bf022622c5f5

    刚才由于设置指定了数据卷,可以查看到MySQL的数据卷

    [root@docker ~]# docker volume ls

    DRIVER              VOLUME NAME

    local               mysql-vol

    mysql的数据都放在这个数据卷目录下

    [root@docker ~]# ls /var/lib/docker/volumes/mysql-vol /_data/

    查看mysql的日志

    [root@docker _data]# docker logs lnmp_mysql

    查看mysql的进程

    [root@docker _data]# docker top lnmp_mysql

    3.创建所需的数据库

    [root@docker mysql]# docker exec lnmp_mysql sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD" -e"create database wp"'

    [root@docker mysql]# yum install mysql

    [root@docker ~]# mysql -h192.168.30.22 -uroot -p

    Enter password:

    出现报错:

    ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory

    原因应该是mysql版本问题

    解决方案

    [root@docker ~]# docker exec -it lnmp_mysql bash

    root@63259bee4195:/#  mysql -uroot -p123456

    mysql> alter user 'root'@'%' identified with mysql_native_password by 'root';

    Query OK, 0 rows affected (0.04 sec)

    [root@docker ~]# mysql -h192.168.30.22 -uroot -p

    Enter password:

    Welcome to the MariaDB monitor.  Commands end with ; or g.

    Your MySQL connection id is 22

    Server version: 8.0.16 MySQL Community Server - GPL

    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

    MySQL [(none)]> show databases;

    +--------------------+

    | Database           |

    +--------------------+

    | information_schema |

    | mysql              |

    | performance_schema |

    | sys                |

    | wp                 |

    +--------------------+

    5 rows in set (0.02 sec)

    4.创建PHP环境容器

    [root@docker ~]# docker run -itd --name lnmp_web --net lnmp -p 88:80 --mount type=bind,src=/app/wwwroot,dst=/var/www/html richarvey/nginx-php-fpm

    [root@docker ~]# ls /app/wwwroot/

    1. html  index.html

    5.wordpress博客为例测试

    [root@docker ~]# wget https://cn.wordpress.org/wordpress-4.7.4-zh_CN.tar.gz

    [root@docker ~]# tar zxvf wordpress-4.7.4-zh_CN.tar.gz -C /app/wwwroot/

    [root@docker ~]# ls /app/wwwroot/

    1. html  index.html  wordpress

    [root@docker ~]# docker ps

    CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS              PORTS                                   NAMES

    64639d9f9ec7        richarvey/nginx-php-fpm   "docker-php-entrypoi"   5 minutes ago       Up 5 minutes        443/tcp, 9000/tcp, 0.0.0.0:88->80/tcp   lnmp_web

    http://IP:88/wordpress

    php的页面修改数据库密码更改一下

    [root@docker ~]# cp /app/wwwroot/wordpress/wp-config-sample.php /app/wwwroot/wordpress/wp-config.php

    cp:是否覆盖"/app/wwwroot/wordpress/wp-config.php"y

    [root@docker ~]# vim /app/wwwroot/wordpress/wp-config.php

     

    输入wpadmin进入后台

  • 相关阅读:
    你所不知道的 CSS 阴影技巧与细节
    %date~0,4%和 %time~0,2%等用法详解
    计算程序执行时间
    GDI
    IO
    字符串拼凑批量Insert SQL语句神BUG
    用逗号分隔的数据转换到数组
    MVC ViewBag传值
    接口和抽象类对比
    Partial 同一个命名空间下写两个类名一样的类
  • 原文地址:https://www.cnblogs.com/zc1741845455/p/11082079.html
Copyright © 2011-2022 走看看