基於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

 

 

 

輸入wp\admin進入后台

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM