Car
J'ai déjà construit WordPress sur Vultr
, mais comme tout le monde le sait La raison en est que l’accès à cet endroit devient de plus en plus lent. Plus tard, j'ai choisi Sina Cloud. Sina Cloud est en effet bon marché et très bon, mais il nécessite une inscription et il faudra peut-être castrer la fonction de commentaire. Après y avoir réfléchi, autant l'oublier et simplement trouver un hébergeur à Hong Kong pour le construire. WordPress.
Acheter un hébergeur
Ce que j'ai choisi ici, c'est le serveur d'applications léger d'Alibaba Cloud. L'avantage de cet hébergeur est qu'il est bon marché et suffisant.
Par exemple, l'hébergeur que j'ai choisi à Hong Kong ne coûte que 24 yuans par mois, avec un cœur et un gigaoctet de mémoire, une vitesse Internet de 30 Mbps, 25 Go d'espace disque et 1 To de trafic mensuel.
La configuration est comme indiqué ci-dessous
Initialiser l'environnement Docker
Bien qu'il existe une fonction à installer wordpress
, je ne le recommande pas, car la configuration est trop ancienne
Au final, j'ai choisi le système ubuntu18.04
Vous pouvez installer docker et l'initialiser directement avec la commande suivantedocker swarm
curl -o- -L https://gist.githubusercontent.com/hangox/e679464f35dc2a78920e6249a21d7958/raw/c5541e38979dca1e3e1e9704ad171ed2f0556fa1/ubunut-install-docker.sh | bash.
Écrire docker-compose
Aperçu de la configuration
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
Analyse de la configuration
caddy
est utilisé pour inverser l'application à l'agent et prendre en compte l'application du certificat https. La configuration est la suivante
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 }
Ici, j'ai utilisé la fonction de configuration de docker swarm et j'ai directement écrit la configuration dans le configuration. wp_caddy
Il est à noter que
doit être ajouté avec commmand
, sinon il n'y a aucun moyen d'authentification par mot de passe, j'ai juste oublié d'ajouter ceci et ça a fait mal pendant un moment. command: --default-authentication-plugin=mysql_native_password
Faites attention à la méthode de connexionSi vous le déployez à l'aide de la pile docker, quel est le nom du déploiement Le préfixe de nom doit être ajouté ? à la connexion à la base de données. Par exemple, voici
, et l'hôte de ma base de données dans le réseau Docker est docker stack deploy -c docker-compose.yml wp
. Si le nom de votre pile est wordpress, il doit être remplacé par wp_db
en conséquence. wordpress_db
Faites attention au volume de configuration
Cette chose doit être configurée. Je n'ai pas configuré cette chose la dernière fois que j'ai supprimé le conteneur et le thème a disparu. - wordpress:/var/www/html
Vous pouvez entrer WordPress après un certain temps docker stack deploy -c docker-compose.yml wp