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博客系统就搭建完成了。

Centos 7使用docker部署LAMP搭建wordpress博客系统的更多相关文章

  1. 巨杉Tech | 十分钟快速搭建 Wordpress 博客系统

    介绍 很多互联网应用程序开发人员第一个接触到的网站项目就是博客系统.而全球使用最广的Wordpress常常被用户用来快速搭建个人博客网站.默认情况下,Wordpress一般在后台使用MySQL关系型数 ...

  2. 在github Pages上部署octopress搭建个人博客系统

    原文链接:http://caiqinghua.github.io/blog/2013/08/26/deploy-octopress-to-github-pages/ 引子 上一篇博客已经说了为什么要搭 ...

  3. 在centOS上搭建wordpress博客系统

    一.主要内容 1.安装LAMP服务器系统(Linux.Apache.MySQL.PHP ); 2.安装wordpress: 二.具体步骤 一.LAMP环境设置 1.安装LAMP系统,在centOS上可 ...

  4. Docker搭建wordpress博客环境(Centos7)

    Docker搭建wordpress博客环境(Centos7) 升级系统 yum -y update 设置docker库 sudo yum install -y yum-utils sudo yum-c ...

  5. 使用docker部署WordPress博客系统(win10企业版)

    docker介绍: docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相 ...

  6. AWS之EC2搭建WordPress博客

    AWS之搭建WordPress博客 注意:请确定您已经成功完成LAMP架构的搭建; 1.下载并解压WordPress安装包: ①使用wget命令在WordPress官网获取最新安装包: [ec2-us ...

  7. 搭建WordPress博客程序库

    搭建WordPress博客程序库 wordpress简介 wordpress是一套利用PHP语言和Mysql数据库开发的开源免费的Blog(博客,网站)程序,用户可以在支持PHP环境和Mysql数据库 ...

  8. 搭建wordpress博客

    环境说明 操作系统: CentOS 7.2 64位 1. 准备LAMP环境 LNMP 是 Linux.Nginx.MySQL 和 PHP 的缩写,是 WordPress 博客系统依赖的基础运行环境.我 ...

  9. 搭建 WordPress 博客教程

    搭建 WordPress 博客教程(超详细) 在 2018年7月29日 上张贴 由 suncent一条评论 本文转自:静候那一米阳光 链接:https://www.jianshu.com/p/5675 ...

随机推荐

  1. Unreal Engine 4 系列教程 Part 8:粒子系统教程

    .katex { display: block; text-align: center; white-space: nowrap; } .katex-display > .katex > ...

  2. antd模块组件文档思维导图整理

  3. 把ping的结果写入文件

    写一个sh文件: #!/bin/bash while true do $|>&` done 保存成ping.sh,赋可执行权限: chmod +x ping.sh 执行: sh ./pi ...

  4. JWT简要说明

    什么是JWT? JSON Web Token (JWT) 是一种开放标准 (RFC 7519) 定义了一种用于安全传输的紧凑.自包含(注:或自说明) 的Json结构, 被传输的信息可以通过JWT内容中 ...

  5. PHP7 php_memcache.dll下载

    因为项目切换到PHP7.1的环境,而且要用到memcache,但是在pecl上却发现memcache不支持PHP7.在网上也找了很久也没有找到,基本上都是大牛自己编译的dll,和自己的版本不合适. 结 ...

  6. 读书会荐书 - 关于Ada Lovelacer的书

    今天很感谢Weny组织了这期读书会, 我受益良多. 会上我推荐了<中的精神>, 但是会后想起有更好的书. 就是关于Ada Lovelace的书. 先简单介绍一下Ada Lovelacer. ...

  7. Java内功心法,深入解析面向对象

    什么是对象 对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位.一个对象由一组属性和对这组属性进行操作的一组服务组成. 类的实例化可生成对象,一个对象的生命周期包括三个阶段:生成.使用 ...

  8. placeholder和assign速度对比

    在CPU上,使用variable和placeholder效果差不多 在GPU上,使用variable要比每次都传placeholder快得多3:2 使用GPU的瓶颈主要在于GPU和内存之间的复制操作 ...

  9. Linux管道及重定向

    Linux管道及重定向 对shell有一定了解的人都知道,管道和重定向是 Linux 中非常实用的 IPC 机制.在shell中,我们通常使用符合'|'来表示管道,符号'>'和'<'表示重 ...

  10. git stash与git commit的区别

    问题的出现    写这篇文章的缘由是在工作中初次使用Git的时候遇到了一个奇怪的现象,即每次提交代码的时候,如果没有及时拉取代码就会导致本地库的代码不是最新的,这样自己修改代码之后想要push到远程仓 ...