CentOS 7.4上使用Docker极速部署LNMP(Linux, Nginx, MySQL, PHP)环境和WordPress

作者:php是最好的2024.01.22 14:05浏览量:4

简介:本文将指导您在CentOS 7.4上使用Docker快速部署LNMP(Linux, Nginx, MySQL, PHP)环境和WordPress。我们将通过Docker容器化技术,简化部署过程,提高环境的一致性和可维护性。

一、准备工作
在开始之前,请确保您的CentOS 7.4系统已经安装了Docker。您可以通过以下命令检查Docker是否已安装:

  1. docker --version

如果未安装Docker,请按照官方文档的指引进行安装。
二、创建和配置Nginx容器

  1. 打开终端,运行以下命令创建Nginx容器:
    1. docker run --name my-nginx -d -p 80:80 nginx
    这将在后台运行一个名为my-nginx的Nginx容器,并将容器的80端口映射到主机的80端口。
  2. 检查Nginx容器的状态:
    1. docker ps
    如果看到my-nginx容器正在运行,说明Nginx容器已经成功创建。
    三、创建和配置MySQL容器
  3. 运行以下命令创建MySQL容器:
    1. docker run --name my-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:5.7
    这将创建一个名为my-mysql的MySQL容器,并设置root用户的密码为my-secret-pw。请确保将密码替换为您想要的实际密码。
  4. 检查MySQL容器的状态:
    1. docker ps
    如果看到my-mysql容器正在运行,说明MySQL容器已经成功创建。
    四、创建和配置PHP容器
  5. 运行以下命令创建PHP容器:
    1. docker run --name my-php -d -p 9000:9000 --link my-mysql:mysql --link my-nginx:nginx php:7.2-fpm
    这将创建一个名为my-php的PHP容器,并将容器的9000端口映射到主机的9000端口。通过—link参数将my-mysql容器命名为mysql,将my-nginx容器命名为nginx,以便在PHP容器中访问它们。
  6. 检查PHP容器的状态:
    1. docker ps
    如果看到my-php容器正在运行,说明PHP容器已经成功创建。
    五、部署WordPress应用程序
  7. 进入WordPress目录:
    1. shell docker exec -it my-php bash
    2. cd /var/www/html/
    这将进入PHP容器的bash shell,并将当前目录切换到PHP容器的/var/www/html/目录。这是默认的Web根目录。
  8. 下载并解压WordPress文件:
    运行以下命令下载WordPress压缩文件并解压到当前目录:
    1. curl -o wordpress.tar.gz https://wordpress.org/latest.tar.gz
    2. tar -xzf wordpress.tar.gz
    3. rm wordpress.tar.gz
  9. 配置数据库连接:
    在解压后的wordpress目录中,找到wp-config-sample.php文件并将其重命名为wp-config.php。然后编辑wp-config.php文件,添加以下内容:
    1. define('DB_NAME', 'wordpress');
    2. define('DB_USER', 'root');
    3. define('DB_PASSWORD', 'my-secret-pw');
    4. define('DB_HOST', 'mysql');
    5. define('DB_CHARSET', 'utf8mb4');
    6. define('DB_COLLATE', '');
    确保将DB_PASSWORD替换为您在创建MySQL容器时设置的密码。
  10. 创建数据库和表:
    运行以下命令创建数据库和表:
    1. docker exec -it my-mysql mysql -uroot -p
    2. mysql> CREATE DATABASE wordpress;
    3. mysql> GRANT ALL PRIVILEGES ON wordpress.* TO 'root'@'%' IDENTIFIED BY 'my-secret-pw';
    4. mysql> FLUSH PRIVILEGES;
    5. mysql> exit;
  11. 将应用程序连接到数据库:
    运行以下命令将WordPress