Heim > CMS-Tutorial > WordDrücken Sie > So verwenden Sie Docker Swarm zum Erstellen von WordPress

So verwenden Sie Docker Swarm zum Erstellen von WordPress

藏色散人
Freigeben: 2021-04-20 19:12:29
nach vorne
1822 Leute haben es durchsucht

In der folgenden Tutorial-Kolumne von WordPress erfahren Sie, wie Sie Docker Swarm zum Erstellen von WordPress verwenden. Ich hoffe, es wird Freunden in Not hilfreich sein!

So verwenden Sie Docker Swarm zum Erstellen von WordPress

Ursache

Ich habe einmal WordPress auf Vultr erstellt, aber aus bekannten Gründen wird der Zugriff auf diesen Ort immer langsamer. Später habe ich mich für Sina Cloud entschieden. Es ist zwar günstig und sehr gut, aber es erfordert eine Registrierung und die Kommentarfunktion muss möglicherweise kastriert werden. Nachdem ich darüber nachgedacht habe, kann ich es genauso gut vergessen und einfach einen Hongkong-Host zum Erstellen finden WordPress. Vultr 上,但是因为众所周知的原因,这个地方访问越来越慢。再后来我选择了新浪云,新浪云的确够便宜,也很不错,但是要备案,还有评论功能估计要阉割,想想还是算了,找个香港的主机搭建 wordpress 即可。

购买主机

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

配置如下图
So verwenden Sie Docker Swarm zum Erstellen von WordPress

初始化 docker 环境

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

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

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

编写 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
Nach dem Login kopieren

配置解析

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
}
Nach dem Login kopieren

这里我用到了 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

Host kaufen
Ich habe mich hier für den leichten Anwendungsserver von Alibaba Cloud entschieden. Der Vorteil dieses Hosts besteht darin, dass er günstig und ausreichend ist.
Zum Beispiel kostet der Host, den ich in Hongkong ausgewählt habe, nur 24 Yuan pro Monat, mit einem Kern und einem Gigabyte Speicher, einer Internetgeschwindigkeit von 30 Mbit/s, 25 GB Festplattenspeicher und 1 TB monatlichem Datenverkehr.
🎜Die Konfiguration ist wie unten gezeigt
So verwenden Sie Docker Swarm zum Erstellen von WordPress🎜🎜Initialisieren Sie die Docker-Umgebung🎜🎜Obwohl es eine Funktion zum Installieren von wordpress gibt, Ich empfehle es nicht, da die Konfiguration zu alt ist. Am Ende habe ich mich für das ubuntu18.04-System entschieden. Verwenden Sie einfach die folgenden Befehle, um Docker zu installieren und docker swarm🎜rrreee🎜 <!-- more -->🎜🎜Write docker-compose🎜<h3>Konfigurationsübersicht</h3>rrreee<h3>Konfigurationsanalyse</h3> <h4>caddy</h4> 🎜Wird für Reverse verwendet. Der Proxy berücksichtigt auch die https-Zertifikatanwendung. Die Konfiguration ist wie folgt: 🎜rrreee🎜Hier habe ich die Konfigurationsfunktion von Docker Swarm verwendet und die Konfiguration direkt in die <code>wp_caddy-Konfiguration geschrieben. 🎜

db

🎜Mysql8 wird hier verwendet, WordPress wird unterstützt und die Leistung ist besser
Es ist zu beachten, dass command mit command hinzugefügt werden muss: --default-authentication-plugin=mysql_native_password Ansonsten gibt es keine Möglichkeit, eine Passwortauthentifizierung durchzuführen. Ich habe nur vergessen, dies hinzuzufügen, und es tat eine Weile weh. 🎜

app

🎜🎜Achten Sie auf die Verbindungsmethode🎜
Wenn Sie es mit dem Docker-Stack bereitstellen, wie lautet der Name der Bereitstellung? Das Namenspräfix muss der Datenbankverbindung hinzugefügt werden. Hier ist zum Beispiel docker stackploy -c docker-compose.yml wp und der Host meiner Datenbank im Docker-Netzwerk ist wp_db. Wenn Ihr Stack-Name WordPress lautet, muss er in wordpress_db geändert werden. 🎜🎜🎜Achten Sie auf die Konfiguration der Lautstärke🎜
- wordpress:/var/www/html Dieses Ding muss beim letzten Mal nicht konfiguriert werden das Thema war weg. 🎜🎜Verwenden Sie den Docker-Stack zum Bereitstellen🎜🎜Einzeiliger Befehl docker stack deploy -c docker-compose.yml wp Nach einer Weile können Sie WordPress eingeben. 🎜🎜Warum Docker Swarm verwenden. Aufgrund von Portainer kann Docker-Swarm nach der Verbindung mit Portainer über umfassende Konfigurationsmöglichkeiten verfügen. 🎜🎜

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Docker Swarm zum Erstellen von WordPress. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage