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

Centos 7使用docker部署LAMP搭建wordpress博客系統
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
Centos 7使用docker部署LAMP搭建wordpress博客系統
5、修改mysql的密碼加密方式爲mysql_native_password
vim /data/docker/mysql/conf/docker_mysql.cnf

[mysqld]
default-authentication-plugin=mysql_native_password

如果不修改加密方式的話,低版本的mysql客戶端登陸時會報以下錯誤
Centos 7使用docker部署LAMP搭建wordpress博客系統
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 [email protected] identified by '123456';
mysql> grant all privileges on wordpress.* to [email protected];
mysql> alter user [email protected] 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
Centos 7使用docker部署LAMP搭建wordpress博客系統
Centos 7使用docker部署LAMP搭建wordpress博客系統
提交後發現報500錯誤
Centos 7使用docker部署LAMP搭建wordpress博客系統
刷新頁面後報錯,提示:表前綴不能爲空
Centos 7使用docker部署LAMP搭建wordpress博客系統
前面數據庫的信息填寫都正確,又試了一次還是報這個錯。
即然如此,我們就直接修改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
Centos 7使用docker部署LAMP搭建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
Centos 7使用docker部署LAMP搭建wordpress博客系統
修改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連接成功。
Centos 7使用docker部署LAMP搭建wordpress博客系統
需要手工創建wp-config.php文件,將以上信息貼入wp-config.php文件中
vim /data/docker/www/wordpress/wp-config.php
Centos 7使用docker部署LAMP搭建wordpress博客系統
然後點擊“現在安裝”,出現以下頁面
Centos 7使用docker部署LAMP搭建wordpress博客系統
輸入完以上信息後,點擊“安裝WordPress”
Centos 7使用docker部署LAMP搭建wordpress博客系統
Centos 7使用docker部署LAMP搭建wordpress博客系統
Centos 7使用docker部署LAMP搭建wordpress博客系統
至此,wordpress博客系統就搭建完成了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章