In 2021, I created a 6-part series on creating a highly available WordPress site. The goals were:
- Even if a VPS fails, the site will continue to function.
- Any failure will be transparent to the end user. If I come along to example.com and one node is down, I won’t notice any difference.
- Data will not be stale between the nodes. Every user sees the same info.
Back then we used DRBD, MariaDB replication, and OCFS2 to create a two-node environment that was durable and resistant to single points of failure.
Now it’s 2024 and it’s time for an update. The 2021 architecture still works fine, but we’re going to take a different approach this time around to leverage some different technologies. We’re also going to leverage Ansible for automation.
Here’s our stack:
- Nginx and php-fpm
- GlusterFS for the filesystem (instead of DRBD/OCFS2)
- MariaDB Galera for database high availability
- Round-robin DNS again
- Let’s Encrypt for https
- Ansible to make deployment simpler
Here’s how it’ll look when we’re done:
Last time around I used Linode but since they’re not around any more (I mean, they are, but they’ve rebranded), For this tutorial, I’ll be using VPSes in Hetzner’s Hillsboro, Oregon location.
Here’s the outline we’ll follow:
Part 1 – Introduction, Considerations, and Architecture (this article)
Part 2 – Ordering the VPSes
Part 3 – Ansible
Part 4 – Gluster
Part 5 – WordPress install
Part 6 – MariaDB Multi-Master
Part 7 – Round-Robin DNS, Let’s Encrypt, & Conclusion
We’re dropping one tutorial every day, so come back tomorrow to get started!
Related Posts:
- Crunchbits Discontinuing Popular Annual Plans – The Community Mourns! - November 20, 2024
- RackNerd’s Black Friday 2024: Bigger, Better, and Now in Dublin! - November 19, 2024
- It’s the Season of Giving and CharityHost Has Deals for You! - November 18, 2024
Leave a Reply