一、用docker搭建一個lnmp 環境,安裝wordpress
0.系統環境
[root@docker_test ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [root@docker_test ~]# uname -a Linux docker_test 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
1、安裝mysql客戶端
#mysql5.7源
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
#安裝源
rpm -ivh mysql57-community-release-el7-10.noarch.rpm
#安裝mysql客戶端,用於連接docker里面的mysql。
yum install mysql -y
#登錄用docker創建的mysql
[root@ansible-server ~]# mysql -h59.47.71.229 -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.16 MySQL Community Server - GPL
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys | |
| wp |
+--------------------+
6 rows in set (0.01 sec)
mysql> exit
備注:在同一個網絡中,他們可以通過容器名稱進行通信
2 、自定義網絡
docker network create lnmp
3 、創建 Mysql 數據庫容器
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:5.6 --character-set-server=utf8
4、創建 所需 數據庫
docker exec lnmp_mysql sh \
-c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD" -e"create database wp"'
#查看數據庫
docker exec lnmp_mysql sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD" -e"show databases"'
5、創建 PHP 環境容器
#創建目錄
mkdir -p /app/wwwroot
#安裝nginx+php-fpm
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
6 、 以 wordpress 博客為例測試
wget https://cn.wordpress.org/wordpress-4.7.4-zh_CN.tar.gz
tar zxf wordpress-4.7.4-zh_CN.tar.gz -C /app/wwwroot
容器的訪問:
iptables -I INPUT -s 0.0.0.0 -j ACCEPT
iptables -I INPUT -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT
# 瀏覽器測試訪問
http://IP:88/wordpress/
把上面內容復制在vi /app/wwwroot/wordpress/wp-config.php
<?php /** * WordPress基礎配置文件。 * * 這個文件被安裝程序用於自動生成wp-config.php配置文件, * 您可以不使用網站,您需要手動復制這個文件, * 並重命名為“wp-config.php”,然后填入相關信息。 * * 本文件包含以下配置選項: * * * MySQL設置 * * 密鑰 * * 數據庫表名前綴 * * ABSPATH * * @link https://codex.wordpress.org/zh-cn:%E7%BC%96%E8%BE%91_wp-config.php * * @package WordPress */ // ** MySQL 設置 - 具體信息來自您正在使用的主機 ** // /** WordPress數據庫的名稱 */ define('DB_NAME', 'wp'); /** MySQL數據庫用戶名 */ define('DB_USER', 'root'); /** MySQL數據庫密碼 */ define('DB_PASSWORD', '123456'); /** MySQL主機 */ define('DB_HOST', 'lnmp_mysql'); /** 創建數據表時默認的文字編碼 */ define('DB_CHARSET', 'utf8mb4'); /** 數據庫整理類型。如不確定請勿更改 */ define('DB_COLLATE', ''); /**#@+ * 身份認證密鑰與鹽。 * * 修改為任意獨一無二的字串! * 或者直接訪問{@link https://api.wordpress.org/secret-key/1.1/salt/ * WordPress.org密鑰生成服務} * 任何修改都會導致所有cookies失效,所有用戶將必須重新登錄。 * * @since 2.6.0 */ define('AUTH_KEY', '} }u^AgJu[jE]Iu)pr(4PzQ:+| ii{?Qv!x;ej_FxjG{sIRisLu&x<iF$71JM.r^'); define('SECURE_AUTH_KEY', 'U]Ro$V/S*q,Du9ViTQto TwM)x_1j,lL;-;Askr=EyzQ4Bus1h/fRsEe,kdtt5z4'); define('LOGGED_IN_KEY', 'u02wNJ$H]=fp=[H{{UN5ol%Jz-J+qncgBT!f8R0{v6.<_ n^XBdK;c#9Q=vY?/!!'); define('NONCE_KEY', 'Q>Qu%j|tq`_m>+obv&!h4P-%Q-;k~{F[^~%tJQx4(SNX.ct7o$AM6Vas&f:_sqOh'); define('AUTH_SALT', '4WB`5>#R#i&|1 NDMh/cE][LAqE.RU#A=+-h1ra};C:-*4&o^wmbA/[P&++rf]9N'); define('SECURE_AUTH_SALT', 'y`sZ!fR_J !<?R %K(t6!=3uu%@EvWqX5m{gp5O+NlBSd[gf%1nleLhyu&(edQnN'); define('LOGGED_IN_SALT', '#Mn/t,2Oa+ChH+(tuL*q~(KlU)bDV+jnoEa;_/-ER~O~D #,M0U/`jB@JxQu@SK0'); define('NONCE_SALT', '[q!HV?b84eB4:k.-W4Nu]EO)Nr)yMEyB_v]/>V~&{&JE%b9kcxKwWtG`09*cvc@]'); /**#@-*/ /** * WordPress數據表前綴。 * * 如果您有在同一數據庫內安裝多個WordPress的需求,請為每個WordPress設置 * 不同的數據表前綴。前綴名只能為數字、字母加下划線。 */ $table_prefix = 'wp_'; /** * 開發者專用:WordPress調試模式。 * * 將這個值改為true,WordPress將顯示所有用於開發的提示。 * 強烈建議插件開發者在開發環境中啟用WP_DEBUG。 * * 要獲取其他能用於調試的信息,請訪問Codex。 * * @link https://codex.wordpress.org/Debugging_in_WordPress */ define('WP_DEBUG', false); /** * zh_CN本地化設置:啟用ICP備案號顯示 * * 可在設置→常規中修改。 * 如需禁用,請移除或注釋掉本行。 */ define('WP_ZH_CN_ICP_NUM', true); /* 好了!請不要再繼續編輯。請保存本文件。使用愉快! */ /** WordPress目錄的絕對路徑。 */ if ( !defined('ABSPATH') ) define('ABSPATH', dirname(__FILE__) . '/'); /** 設置WordPress變量和包含文件。 */ require_once(ABSPATH . 'wp-settings.php');
#下一步
http://192.168.56.60:88/wordpress/wp-admin/install.php?language=zh_CN
進行登錄界面
輸入上面設置的用戶名和密碼,點登錄。