Dieselben WordPress-Websites.
4,5 bis über 5 Mal so viele Requests pro Sekunde.
BookPress ist Software, die Sie auf Ihrer eigenen Infrastruktur betreiben:
eine native Implementierung des WordPress-Kerns, die die Websites ausliefert,
die schon auf Ihrer Plattform liegen, mit denselben Themes, demselben
/wp-admin und denselben URLs wie heute. Wir verkaufen die
Software, das Hosting bleibt bei Ihnen.
Sehen Sie sich eine an, bevor Sie weiterlesen. Die Live-Demo betreibt
diese Engine auf einer Google-Cloud-e2-micro, zwei geteilte vCPU
und 969 MB Speicher, mit dem Theme Kadence und WooCommerce, Elementor, Yoast SEO, Contact Form 7, Yoast Duplicate Post und Hello Dolly,
alle aktiv, und ohne Seiten-Cache. Ihr eigener Login erscheint, wenn Sie Ihre
Sandbox starten. Wir löschen Ihre Sandbox 15 Minuten nach dem Start, legen
Sie also nichts Persönliches hinein.
Was sich auf Ihrer Flotte ändert
Der PHP-Stack verlässt den Request-Pfad. Auf den WooCommerce- und
Elementor-Seiten der Website liefert BookPress etwa 4,5 Mal so
viele Requests pro Sekunde wie ein optimiertes WordPress auf dem Intel-Server
und über 5 Mal so viele auf dem ARM-Server. Eine Website ohne
Plugins liefert etwa 112,9 Mal so viele Requests pro Sekunde
auf dem Intel-Server und 125 Mal auf dem ARM-Server. Gemessen
haben wir die Geschwindigkeit auf Google-Cloud-Maschinen
c2-standard-4 und c4a-standard-4, ohne Cache, gegen
ein WordPress mit eigenem PHP samt Opcode-JIT, Redis und MariaDB, auf Seiten,
die kein Cache ausliefern kann.
Der Speicher zieht nach: Unter Volllast auf dem Intel-Server brauchten vier BookPress-Worker etwa 0,6 GB, gegenüber 0,55 GB für ein passend dimensioniertes WordPress und 1,8 GB für einen optimierten Pool mit 64 Kindprozessen; nach 30 Sekunden Leerlauf gab BookPress bis auf etwa 0,3 GB frei, während die WordPress-Pools ihren Speicher hielten. Die Speicherwerte stammen von BookPress 0.2.57. Jede Zahl und die Methode stehen auf den Seiten Geschwindigkeit und Dichte.
BookPress legt die Zahl seiner Worker beim Start des Dienstes aus den
Prozessoren und dem Speicher der Maschine fest. Ein Wert, den Sie in
/etc/bookpress/bookpress.conf setzen, hat Vorrang. Engine-Code
und Plugin-Bytecode (etwa 75 MB) teilen sich alle Worker; jeder Worker
legt unter Last etwa 100 bis 180 MB eigenen Speicher dazu und gibt das
meiste davon im Leerlauf zurück. Die PHP-Dateien einer Website kompiliert
BookPress beim Start und wenn sich eine Datei ändert, der erste Besucher
wartet also nicht darauf. Ein Worker, der 30 Sekunden keinen Request hatte,
gibt Speicher an das System zurück. Wie viele Websites eine Maschine trägt,
messen wir gerade.
Was Ihre Kunden behalten
Ihre Themes, ihr Admin, ihre URLs, ihre Inhalte. Eine umgezogene Website
ist dieselbe Website: dieselben wp_posts-Zeilen, dieselben
Permalinks, dasselbe /wp-admin. Wer die Website besitzt, sieht
keine Änderung, und nur so übersteht ein Support-Team den Umzug.
Was noch nicht funktioniert
Die meisten Anbieter lassen diesen Teil weg, deshalb kommt er zuerst. Multisite unterstützt BookPress nicht. Customizer und Site Editor funktionieren zum Teil: Der Customizer zeigt die Vorschau, indem er die Seite neu lädt, und dem Site Editor fehlen Template-Revisionen und Stilvarianten. Beide brauchen eine WordPress-Installation auf der Platte neben BookPress. Plugins und Themes lassen sich in wp-admin von wordpress.org installieren; für Themes gibt es noch keinen Update-Weg. Die Bildbearbeitung umfasst Zuschneiden, Drehen in Vierteldrehungen, Spiegeln und Skalieren, für JPEG und PNG. Die Plugin-Unterstützung ist echt und unvollständig: Plugins laufen als PHP auf unserer eigenen Engine, und wir zertifizieren, beschränken oder lehnen jedes ab, bevor es sich aktivieren lässt.
Dieser letzte Punkt ist mehr wert, als er klingt. Wir prüfen jedes Plugin einer Website, bevor es läuft, und ein Plugin, das scheitern würde, kommt mit Namen zurück, samt Datei und Zeile, an der es scheitern würde. WordPress installiert alles, und die Website merkt es beim Request, auf einem weißen Bildschirm. Sie wissen, welche Plugins eines Kunden laufen, bevor Sie ihn umziehen.
Installation
curl -fsSL https://bookpress.io/install.sh | sudo sh Der Installer erkennt apt oder dnf, fragt nach Ihrer Kundennummer und Ihrem Zugangstoken, installiert das signierte Paket und startet den Dienst. Die manuellen Schritte je Distribution stehen auf der Installationsseite Ihres Kontos.
Der Installer fragt nach der Adresse, die Besucher verwenden. Hinter nginx,
Caddy oder einem Load Balancer auf derselben Maschine liefert BookPress
https-Links ohne weitere Einstellung. Endet HTTPS auf einer anderen Maschine,
nennen Sie diese mit --trusted-proxy; weitergeleitete Header von
anderswo ignoriert BookPress. Für Installationen per Skript setzt
--site-url die Adresse, und --yes überspringt die
Fragen.
BookPress aktualisiert sich selbst. Releases installieren sich
standardmäßig unbeaufsichtigt, eine neue Hauptversion wartet auf Ihre
Zustimmung. Nach jedem Update prüft es, ob die Website noch antwortet, und
kehrt sonst zur vorigen Version zurück. Werkzeuge → Website-Zustand
zeigt die installierte Version und das letzte Ergebnis.
UPDATER=off in /etc/bookpress/updater.conf schaltet
den Updater ab.
Websites hinein, und wieder heraus
Ein Befehl in jede Richtung. Unser Paket installiert sein eigenes
wp neben dem Server. Jeder Befehl fragt einmal, bevor er etwas
schreibt; --yes überspringt die Rückfrage in Skripten.
Die Befehle funktionieren direkt nach der Installation, auf einem Host mit
WP-CLI und auf einem ohne; das Programm dahinter ist
bookpress-wp, und bookpress-wp import und
bookpress-wp export sind die Kurzformen.
Hinein
$ wp bookpress import --dir=<wp-root> --path=/var/lib/bookpress
BookPress import from the WordPress at <wp-root>
Import <home-url> (<n> tables, <size> uploads) into BookPress at <bookpress-root>? [Y/n] y
...
Success: Import complete. The source WordPress at <wp-root> and its MySQL database were not modified; `wp bookpress export --dir=<wp-root>` takes the site back. Der Import nutzt für den Dump das WP-CLI der Website selbst, BookPress sieht das Datenbankpasswort also nie, und das Quell-WordPress samt MySQL-Datenbank bleibt unberührt. Er hält fest, wie er sich rückgängig macht: Tabellenpräfix, Tabellendefinitionen, umbenannte Schlüssel, welche Tabellen und Optionen von uns stammen, Home- und Site-URL, ein Dateimanifest. Am Ende steht ein Urteil zu jedem Plugin, das auch „eingeschränkt“ oder „abgelehnt“ lauten kann.
Heraus
$ wp bookpress export --dir=<wp-root>
backup: <wp-root>/../bookpress-backups/bookpress-backup-20260927T131258Z.sql (94.1 KB, verified)
Are you sure you want to overwrite the contents of your MySQL database? We stored a backup of it in <wp-root>/../bookpress-backups/bookpress-backup-20260927T131258Z.sql. [y/N] y
...
Success: Export complete. WordPress at <wp-root> now holds the BookPress site. The backup of what was there is <wp-root>/../bookpress-backups/bookpress-backup-20260927T131258Z.sql. Der Export nutzt diese Aufzeichnung. Eine Website, die hinein- und gleich
wieder herausgeht, ist in der Datenbank und in wp-content
byteidentisch; eine Testsuite prüft das gegen ein echtes WordPress auf
MariaDB. Der Export schreibt das Backup außerhalb des Web-Roots. Uns ist
lieber, Sie können gehen, als dass Sie gar nicht erst anfangen.
Kein Hoster? Managed WordPress Hosting auf BookPress, für Menschen, die Websites besitzen und keine Server betreiben, kommt. Auf die Liste →
Sie betreiben WordPress im großen Stil und wollen das auf einer echten Flotte ausprobieren? Sagen Sie uns, was darauf läuft.