>CMS 튜토리얼 >Word누르다 >Docker Swarm을 사용하여 WordPress를 구축하는 방법

Docker Swarm을 사용하여 WordPress를 구축하는 방법

藏色散人
藏色散人앞으로
2021-04-20 14:14:141831검색

다음 튜토리얼 칼럼인 WordPress에서는 Docker Swarm을 사용하여 WordPress를 구축하는 방법을 소개합니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!

Docker Swarm을 사용하여 WordPress를 구축하는 방법

Cause

한번 Vultr에서 wordpress를 구축했지만 잘 알려진 이유로 인해 이곳에 대한 액세스가 점점 느려지고 있습니다. 나중에 Sina Cloud를 선택했는데 Sina Cloud는 정말 저렴하고 아주 좋지만 등록이 필요하고 댓글 기능을 거세해야 할 수도 있습니다. 워드프레스. Vultr 上,但是因为众所周知的原因,这个地方访问越来越慢。再后来我选择了新浪云,新浪云的确够便宜,也很不错,但是要备案,还有评论功能估计要阉割,想想还是算了,找个香港的主机搭建 wordpress 即可。

购买主机

我这里选择的是阿里云的轻量应用服务器,这个主机的好处就是便宜,够用。
比如我选择的香港的主机,一个月只需要 24 块钱,一核心一G内存,网速为 30Mbps,磁盘空间 25GB,月流量 1TB。

配置如下图
Docker Swarm을 사용하여 WordPress를 구축하는 방법

初始化 docker 环境

虽然上面有一件安装wordpress的功能,但是我不推荐,因为配置都太老了

最终我选择的是 ubuntu18.04 系统,直接用下面的命令即可完成安装 docker 并且初始化 docker swarm

curl -o- -L https://gist.githubusercontent.com/hangox/e679464f35dc2a78920e6249a21d7958/raw/c5541e38979dca1e3e1e9704ad171ed2f0556fa1/ubunut-install-docker.sh | bash

编写 docker-compose

配置一览

version: '3.7'

services:
  caddy:
    image: abiosoft/caddy
    ports:
      - 80:80
      - 443:443
    environment:
      - ACME_AGREE=true
      - TZ=Asia/Shanghai
    volumes:
      - caddy:/root/.caddy
      - wp-src:/usr/src/wordpress
    configs:
      - source: wp_caddy
        target: /etc/Caddyfile
  app:
    image: wordpress:5.4.1-php7.2-fpm
    environment:
      TZ: Asia/Shanghai
      WORDPRESS_DB_HOST: wp_db:3306
      WORDPRESS_DB_USER: root
      WORDPRESS_DB_PASSWORD: yourpassword
      WORDPRESS_DB_NAME: wordpress
    depends_on:
      - db
    volumes:
      - wordpress:/var/www/html
      - wp-src:/usr/src/wordpress
  db:
    image: mysql:8
    environment:
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: yourpassword
      MYSQL_DATABASE: wordpress
    command: --default-authentication-plugin=mysql_native_password
    volumes:
      - db:/var/lib/mysql

volumes:
  wordpress:
  db:
  caddy:
  wp-src:
configs:
  wp_caddy:
    external: true

配置解析

caddy

用来做反向代理,同时兼顾 https 证书申请,配置如下

https://47log.com  https://www.47log.com  {
    root /usr/src/wordpress
    gzip
    fastcgi / wp_app:9000 php
    rewrite {
        if {path} not_match ^\/wp-admin
        to {path} {path}/ /index.php?_url={uri}
    }
    log stdout
    errors stderr
}

这里我用到了 docker swarm 的 config 功能,直接把配置写入到 wp_caddy 这个配置中。

db

这里用的是 mysql8 , wordpress 是支持的,性能也要更好点
需要注意的,commmand 必须加上 command: --default-authentication-plugin=mysql_native_password 不然是没办法进行密码认证的,我就是忘记加这个蛋疼了一阵子。

app

注意连接方式
如果你是用 docker stack 部署的,部署的是什么名字,数据库连接那里就要加上名字的前缀。比如我这里是 docker stack deploy -c docker-compose.yml wp,我这里数据库在 docker 网络中的 host 就是 wp_db。如果你的 stack 名字为 wordpress , 就要对应的改为 wordpress_db

注意配置 volume
- wordpress:/var/www/html 这个东西一定要配置,上次我就是没有配置这个东西,删掉 container,主题直接没有了。

使用 docker stack 部署

一行命令 docker stack deploy -c docker-compose.yml wp

호스트 구입
여기서 선택한 것은 Alibaba Cloud의 경량 애플리케이션 서버입니다. 이 호스트의 장점은 저렴하고 충분하다는 것입니다.
예를 들어 제가 홍콩에서 선택한 호스트는 코어 1개와 메모리 1GB, 인터넷 속도 30Mbps, 디스크 공간 25GB, 월간 트래픽 1TB로 한 달에 24위안밖에 들지 않습니다.
🎜구성은 아래와 같습니다
Docker Swarm을 사용하여 WordPress를 구축하는 방법🎜🎜docker 환경 초기화🎜🎜wordpress를 설치하는 기능이 있지만, , 구성이 너무 낡아서 추천하지 않습니다🎜🎜결국 저는 ubuntu18.04 시스템을 선택했습니다. 다음 명령을 사용하여 직접 docker를 설치하고 docker를 초기화할 수 있습니다. swarm🎜rrreee🎜 🎜🎜Write docker-compose🎜

구성 개요

rrreee

구성 분석

caddy h4>🎜역방향에 사용됨 프록시는 https 인증서 응용 프로그램도 고려합니다. 구성은 다음과 같습니다🎜rrreee🎜여기서는 docker swarm의 구성 기능을 사용하고 구성을 wp_caddy 구성에 직접 썼습니다. 🎜

db

🎜여기에서는 Mysql8이 사용되었고 WordPress가 지원되며 성능이 더 좋습니다
commmandcommand와 함께 추가되어야 한다는 점에 유의하세요. --default-authentication-plugin=mysql_native_password 그렇지 않으면 비밀번호 인증을 수행할 방법이 없습니다. 방금 이것을 추가하는 것을 잊어버려서 한동안 상처를 받았습니다. 🎜

app

🎜🎜연결 방법에 주의하세요🎜
docker stack을 사용하여 배포하는 경우 배포 이름은 무엇인가요? 데이터베이스 연결에 이름 접두어를 추가해야 합니다. 예를 들어, 여기 docker stack 배포 -c docker-compose.yml wp가 있고 docker 네트워크에 있는 내 데이터베이스의 호스트는 wp_db입니다. 스택 이름이 wordpress인 경우 wordpress_db로 변경해야 합니다. 🎜🎜🎜볼륨 구성에 주의하세요🎜
- wordpress:/var/www/html 이건 지난번에 구성하지 않았는데 컨테이너를 삭제했어요. 테마가 사라졌습니다. 🎜🎜docker stack을 사용하여 배포🎜🎜한 줄 명령 docker stack 배포 -c docker-compose.yml wp 잠시 후 wordpress에 들어갈 수 있습니다. 🎜🎜docker swarm을 사용하는 이유. portainer 덕분에 docker-swarm은 portainer에 연결된 후 모든 기능을 갖춘 구성 기능을 가질 수 있습니다. 🎜🎜

위 내용은 Docker Swarm을 사용하여 WordPress를 구축하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제