搭建centos
- 首先你需要有自己的服务器,这个你可以申请腾讯的和阿里的1g1核就可以了。
- 使用虚拟机安装centos7最新的centos就好,这样排坑比较方便。
- 登陆centos建议使用xshell或者iterm,修改国内163的yum源,aliyun的源有坑别去,按顺序执行一下子命令
wget -O /etc/yum.repos.d/CentOS-Base.repo mirrors.163.com/.help/CentO… yum clean all yum makecache yum -y update
搭建docker
设置 Docker CE 资源库
yum install -y yum-utils yum-config-manager --add-repo download.docker.com/linux/cento… sudo yum makecache fast
安装docker
sudo yum -y install docker-ce
启动docker
sudo systemctl start docker
搭建wordpress
*下载最新的wordpress的tar包为例测试 网站为:cn.wordpress.org/
- 登陆服务器解压安装包到对应data下目录
[root@docker ~]# tar zxvf wordpress-5.4.1-zh_CN.tar.gz -C data/app/www/ [root@docker ~]# ls data/app/www/ html index.html wordpress
- 登陆服务器创建docker网络模式
[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 [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
- 创建PHP环境容器
[root@docker ~]# docker run -itd --name lnmp_web --net lnmp -p 9528:80 --mount type=bind,src=/data/www,dst=/var/www/html richarvey/nginx-php-fpm
[root@docker ~]# ls /www/ html index.html
- 访问 http://IP:88/wordpress 即可
把php的页面修改数据库密码更改一下
[root@docker ~]# cp /app/www/wordpress/wp-config-sample.php /app/www/wordpress/wp-config.php cp:是否覆盖"/app/wwwroot/wordpress/wp-config.php"? y
[root@docker ~]# vim /app/wwwroot/wordpress/wp-config.php
搭建mysql
- 创建mysql数据库容器
[root@docker ~]# docker run -itd --name lnmp_mysql --net lnmp -p 9527:3306 --mount src=mysql-vol,dst=/var/lib/mysql -e MYSQL_ROOT_PASSWORD=matrix@123 mysql 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
- 创建所需的数据库
[root@docker mysql]# docker exec lnmp_mysql sh -c 'exec mysql -uroot -pmatrix@123 -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)