Centos 7使用docker部署LAMP搭建wordpress博客系统
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 1、下载mysql、php-apache镜像
docker pull mysql docker pull php:7.2-apache
创建自定义网络lamp
docker network create lamp docker network ls
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 \ #设置mysql的root密码 -d mysql:latest --character-set-server=utf8 #使用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容器
sh docker_lamp.sh mysql sh 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
如果不修改加密方式的话,低版本的mysql客户端登陆时会报以下错误 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> 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博客 浏览器访问http://192.168.2.226/wordpress 提交后发现报500错误 刷新页面后报错,提示:表前缀不能为空 前面数据库的信息填写都正确,又试了一次还是报这个错。 即然如此,我们就直接修改wp-config-sample.php配置文件吧。 9、修改wp-config-sample.php配置 cd /data/docker/www/wordpress/ vim wp-config-sample.php #修改以下内容
/** WordPress数据库的名称 */ define('DB_NAME', 'wordpress'); /** MySQL数据库用户名 */ define('DB_USER', 'wps'); /** MySQL数据库密码 */ define('DB_PASSWORD', '123456'); /** MySQL主机 */ define('DB_HOST', 'mysql'); /** 创建数据表时默认的文字编码 */ define('DB_CHARSET', 'utf8'); /** 数据库整理类型。如不确定请勿更改 */ define('DB_COLLATE', '');
将文件名改为wp-config.php
mv wp-config-sample.php wp-config.php再用浏览器访问http://192.168.2.226/wordpress 查阅资料后发现,原来从PHP5.0开始就不推荐使用mysql_connect()函数了,而到了php7.0则直接废弃了该函数,替代的函数是mysqli_connect(),终于找到问题原因了。 10、Call to undefined function mysql_connect()问题解决方法 进入到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
编写一个测试连接mysql的php vim /data/docker/www/test.php
<?php echo "Hello PHP<br/>"; $conn = mysqli_connect("mysql","wps","123456"); if(!$conn){ echo "连接数据库失败"; }else{ echo "连接数据库成功"; } phpinfo(); ?>
浏览器访问http://192.168.2.226/test.php 修改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 mv wp-config.php wp-config-sample.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博客系统就搭建完成了。
- 阿里云Linux CentOS 7 Docker部署使用gogs搭建自己的git服务器
- 阿里云Linux CentOS 7 Docker部署使用gogs搭建自己的git服务器
- CentOS 6.5使用yum快速搭建LAMP环境
- CentOS 6.5使用yum快速搭建LAMP环境
- CentOS下使用yum搭建LAMP环境
- CentOS 7 : Docker私有仓库搭建和使用
- CentOS 6.5使用yum快速搭建LAMP环境
- CentOS6.5使用 Docker 搭建 Java Web 运行环境
- CentOS 6.5使用yum快速搭建LAMP环境
- 详解CentOS 7 : Docker私有仓库搭建和使用
- CentOS下用LAMP环境搭建WordPress博客系统(二)
- CentOS 与 Ubuntu 使用命令搭建 LAMP 环境
- centos5.9使用RPM包搭建lamp平台
- CentOS 6.5使用yum快速搭建LAMP环境
- 使用官方 docker registry 搭建私有镜像仓库及部署 web ui
- CentOS 6.4使用yum快速搭建LAMP环境
- Centos6.5上搭建LAMP并使用navicat工具连接数据库
- CentOS下用LAMP环境搭建WordPress博客系统(一)
- 在Centos 7中使用 Docker搭建MySQL异地双向复制环境
- CentOS 6.5使用yum快速搭建LAMP环境