GVKun编程网logo

基于 docker 搭建 wordpress 博客网站平台(docker部署wordpress)

7

针对基于docker搭建wordpress博客网站平台和docker部署wordpress这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展12、利用docker快速搭建Wordpress网站

针对基于 docker 搭建 wordpress 博客网站平台docker部署wordpress这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展12、利用docker快速搭建Wordpress网站、6.1 基于docker搭建wordpress、Centos 7 使用 docker 部署 LAMP 搭建 wordpress 博客系统、docker compose搭建wordpress等相关知识,希望可以帮助到你。

本文目录一览:

基于 docker 搭建 wordpress 博客网站平台(docker部署wordpress)

基于 docker 搭建 wordpress 博客网站平台(docker部署wordpress)

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

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

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

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

 

 

 

输入 wp\admin 进入后台

 

12、利用docker快速搭建Wordpress网站

12、利用docker快速搭建Wordpress网站

 一、准备工作

结构图:

用户访问页面,Nginx将请求进行转发,如果请求的是php页面,则通过FastCGI转发给后端php进行处理;如果非php页面,则直接返回静态页面。

 关键点:

  1. mysql、php-fpm、nginx处于一个网络中
  2. mysql、php-fpm端口不需要暴露
  3. nginx对php请求转发给FastCGI

1、自定义网络

 

docker network create lnmp

  

二、创建容器

1、创建Mysql容器

docker run -d --name lnmp_mysql --net lnmp --mount src=mysql-vol,dst=/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=wordpress mysql:5.7 --character-set-server=utf8

 

  • 容器名称:lnmp_mysql
  • 容器网络:lnmp
  • 数据卷:mysql-vol
  • 设置数据库密码和创建数据 

2、创建php容器

docker run -d --name lnmp_php --net lnmp --mount src=wwwroot,dst=/wwwroot custom_php:v1

  

  • 容器名称:lnmp_php
  • 容器网络:lnmp
  • 数据卷:wwwroot

3、创建nginx容器

docker run -d --name lnmp_nginx --net lnmp -p 88:80 --mount type=bind,src=$(pwd)/nginx.conf,dst=/usr/local/nginx/conf/nginx.conf --mount src=wwwroot,dst=/wwwroot custom_nginx:v1

  

  • 容器名称:lnmp_nginx
  • 容器网络:lnmp
  • 容器端口:80
  • 数据卷:wwwroot
  • 配置文件:bind方式,因为配置文件可能会有变更,保证每次容器可以获取最新的配置文件。

4、下载应用

wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz

  下载应用放到/var/lib/docker/volumes/wwwroot/_data

 

三、访问测试

 1、访问wordpress

 

 2、设置数据库连接

 3、完成数据设置

 

 4、填写网站信息

 5、访问应用

 一切都是预期的结果!

6.1 基于docker搭建wordpress

6.1 基于docker搭建wordpress

创建一个mysql容器

docker run -d --name mysql -v mysqldata:/var/lib/mysql -e MYSQL_DATABASE=wp -e MYSQL_ROOT_PASSWORD=root mysql:5.7.22

创建一个wordpress容器

docker run --name wordpress --link mysql -d -p 8080:80 wordpress

然后即可通过访问 http://192.168.205.10:8080/ 来进行安装了

Centos 7 使用 docker 部署 LAMP 搭建 wordpress 博客系统

Centos 7 使用 docker 部署 LAMP 搭建 wordpress 博客系统

0、简要概述

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

系统环境 操作系统版本:Centos 7.5 64 位 Docker 版本:18.06.1-ce(社区版) ip 地址:192.168.2.226 lamp 网络 ip 地址:172.18.0.1

前提条件:

  • 关闭 selinux
  • 已经安装好 docker

1、下载 mysql、php-apache 镜像

docker pull mysql
docker pull php:7.2-apache

创建自定义网络 lamp

docker network create lamp
docker network ls

![Centos 7 使用 docker 部署 LAMP 搭建 wordpress 博客系统](Centos 7 使用 docker 部署 LAMP 搭建 wordpress 博客系统.assets/787a595ef77002c873db3d3a70a8c220.png)

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

#!/bin/bash

function mysql() {
    docker run --name mysql --net lamp -p 3306:3306 \
    -v /data/docker/mysql/data:/var/lib/mysql \
    -v /data/docker/mysql/conf:/etc/mysql/conf.d \
    -v /data/docker/mysql/logs:/logs \
    -e MYSQL_ROOT_PASSWORD=test123456 \
    -d mysql:latest --character-set-server=utf8
}

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 容器

bash docker_lamp.sh mysql
bash docker_lamp.sh httpd_php

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

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

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

5、修改 mysql 的密码加密方式为 mysql_native_password

vim /data/docker/mysql/conf/docker_mysql.cnf

[mysqld]
default-authentication-plugin=mysql_native_password

6、数据库操作 登陆 mysql 容器,创建、配置 wordpress 数据库

docker exec -it mysql /bin/bash
mysql -uroot -ptest123456

mysql> create database wordpress;

mysql> create user wps@localhost identified by ''123456'';
mysql> grant all privileges on wordpress.* to wps@localhost;

mysql> create user wps@172.18.0.1 identified by ''123456'';
mysql> grant all privileges on wordpress.* to wps@172.18.0.1;

mysql> alter user wps@172.18.0.1 identified with mysql_native_password by ''123456'';

mysql> flush privileges;
mysql> exit

exit

7、下载 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/

8、配置 wordpress 博客

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


/ WordPress数据库的名称 */
define(''DB_NAME'', ''wordpress'');

/ MySQL数据库用户名 */
define(''DB_USER'', ''wps'');

/ MySQL数据库密码 */
define(''DB_PASSWORD'', ''123456'');

/ MySQL主机 */
define(''DB_HOST'', ''172.18.0.1'');

/ 创建数据表时默认的文字编码 */
define(''DB_CHARSET'', ''utf8'');

/ 数据库整理类型。如不确定请勿更改 */
define(''DB_COLLATE'', '''');
  1. 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
  1. 修改 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

11、重新配置 wordpress 博客 浏览器访问 http://192.168.2.226/wordpress 按前面的步骤填写完连接 mysql 的配置信息后,看到如下页面,表示 mysql 连接成功。

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

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

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

至此,wordpress 博客系统就搭建完成了。

docker compose搭建wordpress

docker compose搭建wordpress


version: '3.1'

services:

  db:
    image: MysqL:5.7
    restart: always
    environment: 
      MysqL_DATABASE: blog
      MysqL_USER: stivenyang
      MysqL_PASSWORD: *******
      MysqL_RANDOM_ROOT_PASSWORD: '*******'
    volumes:
      - ../MysqL/blog/conf/my.cnf:/etc/MysqL/my.cnf
      - ../MysqL/blog/data:/var/lib/MysqL
    ports:
      - 3306:3306

  wordpress:
    image: wordpress
    restart: always
    environment:
      wordpress_DB_HOST: db
      wordpress_DB_USER: stivenyang
      wordpress_DB_PASSWORD: ********
      wordpress_DB_NAME: blog
    volumes:
      - ../wordpress:/var/www/html
  
  web:
    image: Nginx
    restart: always
    ports: 
      - 80:80
    volumes:
      - ../Nginx/Nginx.conf:/etc/Nginx/Nginx.conf
      - ../Nginx/conf.d:/etc/Nginx/conf.d

关于基于 docker 搭建 wordpress 博客网站平台docker部署wordpress的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于12、利用docker快速搭建Wordpress网站、6.1 基于docker搭建wordpress、Centos 7 使用 docker 部署 LAMP 搭建 wordpress 博客系统、docker compose搭建wordpress等相关内容,可以在本站寻找。

本文标签: