• 在centos上部署docker与wordpress


    简介

    有一个wordpress服务器需要迁移了,之前都是别人维护的,现在需要迁移到自己维护,给的系统是linux centos 8.4。迁移包括mysql,php,phpmyadmin,wordpress本文是迁移的记录。

    步骤

    1. 安装docker

    基本的顺序按照安装 Docker 和 Docker Compose这篇文章来进行。按照说法,安装epel之后,需要修改/etc/yum.repos.d/epel.repo这个文件,将epel的enabled属性改成enable=1,保存后方可正常安装python-pip

    但是安装后还是不成功,于是换了一个思路,直接使用easy—install pip,安装pip成功。
    img

    2. 配置docker环境

    在自己的目录中创建一个wordpress-setup目录,并新建docker-compose.yml,填入以下内容:

    version: '3.7'
    
    volumes:
      wp-data:
    networks:
      wp-back:
    
    services:
    
      db:
        image: mysql:5.7
        volumes:
          - wp-data:/var/lib/mysql
        environment:
           MYSQL_ROOT_PASSWORD: rootPassword
           MYSQL_DATABASE: wordpress
           MYSQL_USER: wp-user
           MYSQL_PASSWORD: wp-pass
        ports:
          - 8889:3306
        networks:
          - wp-back
    
      phpmyadmin:
        depends_on:
          - db
        image: phpmyadmin/phpmyadmin
        environment:
          PMA_HOST: db
          MYSQL_USER: wp-user
          MYSQL_PASSWORD: wp-pass
          MYSQL_ROOT_PASSWORD: rootPassword
        ports:
          - 3001:80
        networks:
          - wp-back
    
      wordpress:
        depends_on:
          - db
        image: wordpress:latest
        ports:
          - 8888:80
          - 443:443
        environment:
           WORDPRESS_DB_HOST: db
           WORDPRESS_DB_USER: wp-user
           WORDPRESS_DB_PASSWORD: wp-pass
        volumes:
          - ./wordpress-files:/var/www/html
        container_name: wordpress-site
        networks:
          - wp-back
    

    然后直接在目录下执行docker-compose up -d即可。

    发现下载速度很慢,可以修改/etc/docker/daemon.json这个文件以修改默认的源(实测阿里云的加速器很给力),如果没有这个文件,新建即可。参考这篇文章

    安装完毕之后,需要配置一下防火墙。

    firewall-cmd --zone=public --add-port=8000/tcp --permanent   # 开放8000端口
    
    firewall-cmd --reload   # 配置立即生效
    

    访问http://localhost:8888端口就可以正常访问wordpress了。主文件夹直接被映射为当前工作目录下的wordpress-files文件夹,可以直接进行操作,修改wordpress的资源文件。

    img

    后记

    由于一些地方有限制,之前我使用直接使用yum/dnf进行安装的方法,要一点点安装mariadb、php、PHPMySQLAdmin、wordpress等等,还会涉及到各种配置的问题,不是很熟悉linux的情况下,操作起来还是挺非费劲的。

    FAQ

    1. 安装docker与docker-ce和docker-ee的区别?

    直接yum install docker中的docker,一般是由本发行版维护的,有可能功能上和官方版本有区别;docker-ce指的是docker的社区开源版本,不一定向每一个发行版都提供;docker-ee指的是商业版本。

    2. wordpress运行之后,一直提示:Error establishing a database connection

    如果数据库工作正常,那么就是防火墙的问题了,那个firewalld搞的鬼,可以查看这里有解决方案,当然你直接关了firewalld也行。

    参考资料

  • 相关阅读:
    文件编程---库函数
    linux文件编程----系统调用
    makefile工程管理
    快速上手日期插件laydate
    js判断浏览器类型以及语言
    谷歌支付服务端详细讲解(PHP)
    php中的date和strtotime函数妙用
    本地搭建GitLab
    mysql查询语句常用字段操作函数
    php中签名公钥、私钥(SHA1withRSA签名)以及AES(AES/ECB/PKCS5Padding)加密解密详解
  • 原文地址:https://www.cnblogs.com/podolski/p/13735622.html
Copyright © 2020-2023  润新知