WordPress是使用PHP語言開發的博客平台,用戶可以在支持PHP和MySQL數據庫的服務器上架設屬於自己的網站。也可以把 WordPress當作一個內容管理系統(CMS)來使用。
WordPress是一款個人博客系統,並逐步演化成一款內容管理系統軟件,它是使用PHP語言和MySQL數據庫開發的。用戶可以在支持 PHP 和 MySQL數據庫的服務器上使用自己的博客。
WordPress有許多第三方開發的免費模板,安裝方式簡單易用。不過要做一個自己的模板,則需要你有一定的專業知識。比如你至少要懂的標准通用標記語言下的一個應用HTML代碼、CSS、PHP等相關知識。
WordPress官方支持中文版,同時有愛好者開發的第三方中文語言包,如wopus中文語言包。WordPress擁有成千上萬個各式插件和不計其數的主題模板樣式。
基於docker構建wordpress博客網站平台
- 自定義網絡
[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/
- 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/
- 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進入后台