docker搭建一个lnmp 环境 安装wordpress


 一、用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

进行登录界面

输入上面设置的用户名和密码,点登录。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM