Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run Scan×
Skip to content
VGSources
Blog

How to Run WordPress and Ghost on the Same VPS

Host WordPress and Ghost together safely by assigning separate domains, keeping application ports private, and letting one Nginx proxy terminate HTTPS and route each site.
Length11 min Posted Quest giverVGSources Team
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Yes—you can run WordPress and Ghost on one VPS safely. Put a single Nginx instance on the public edge, assign each application its own domain or subdomain, and keep PHP-FPM, Ghost’s Node process, and both databases on private addresses or internal container networks. Nginx terminates HTTPS and routes each hostname to the correct application, avoiding port 80/443 conflicts while preserving process, filesystem, database, and network isolation.

Use one public reverse proxy and two private applications

The reliable layout is a shared operating-system kernel with separate application services behind one reverse proxy:

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • WordPress: Nginx serves the site’s files and passes PHP requests to that site’s PHP-FPM pool. WordPress uses its own database.
  • Ghost: Ghost runs as a Node.js service and normally listens on 127.0.0.1:2368. It uses its own MySQL database.
  • Nginx: the only service listening publicly on TCP ports 80 and 443. It selects a virtual host from the request’s Host header.
  • Firewall: SSH, HTTP, and HTTPS are allowed from the outside; database ports, PHP-FPM, and Ghost’s 2368 listener are not.

For example, example.com can serve WordPress while news.example.com serves Ghost. A request for the first hostname goes to the WordPress document root and PHP-FPM socket; a request for the second is proxied to http://127.0.0.1:2368. Ghost’s documentation describes this arrangement directly: “Ghost is designed to have a reverse proxy in front of it.”

Check the VPS requirements before installing

Choose a supported Linux distribution and reserve enough memory for two applications, their databases, Nginx, backups, and traffic spikes. Ghost’s documented self-hosting stack is Ubuntu 24, Node.js 22 LTS, MySQL 8.0, Nginx, Systemd, and at least 1 GB of memory. WordPress’s current recommended baseline is PHP 8.3 or newer, MariaDB 10.11 or newer or MySQL 8.0 or newer, HTTPS, and Nginx or Apache.

#1 Best Overall
Sale
Gaoye Blue Light Blocking Glasses
  • BLUE LIGHT BLOCKING GLASSES: Our blue light glasses for women boast UV400 protection, blocking harmful blue rays from computer screens. With these bluelight glasses women, you can enjoy gaming, reading, or watching TV with no worries of eye strain.
  • EYE RELIEF: Our blue light glasses are engineered to reduce blurry vision or strain caused by prolonged screen time. These womens blue light glasses aid in better sleep by preventing blue light from disrupting your natural sleep cycle, helping you fall asleep faster and enjoy a more restful night's sleep, making them the perfect christmas present.
  • COMFORTABLE: Crafted from durable material, our trendy blue light glasses for woman or blue light glasses men ensure long-lasting comfort. The high-transmittance lenses accessories, gamer gifts for men, help keep your eyes relaxed. Perfect stocking stuffers, gifts for gamers men, christmas gifts for men, halloween costumes.
  • LIGHTWEIGHT: These clear blue light glasses feature a lightweight frame, meaning they’ll stay comfy for long-term wear. Perfect as blue blockers glasses for women or mens blue light glasses, these non-prescription fake glasses for men can be worn throughout the day. The blue light blocking glasses women feature polycarbonate HD lenses, which are anti-reflective and restore true color.
  • WORRY-FREE PURCHASE: If you experience any issues, our support team is ready to assist you quickly. These are the perfect costume glasses for cosplay dressing up.
Component Documented baseline What it means on a shared VPS
Operating system Ubuntu 24 for Ghost’s documented stack Use one supported release and keep security updates current.
Node.js 22 LTS for Ghost Install and manage the version Ghost supports; do not let an unrelated application replace it.
PHP 8.3 or newer recommended for WordPress Use a separate PHP-FPM pool or socket for WordPress where practical.
Databases MySQL 8.0 for Ghost; MariaDB 10.11+ or MySQL 8.0+ for WordPress Create separate databases and users. Never let one application use the other’s credentials.
Memory At least 1 GB listed by Ghost This is a minimum for Ghost’s documented stack, not a capacity guarantee for two busy sites.
Public ports 80 and 443 owned by Nginx Do not publish a second web server on either port.
Ghost listener 127.0.0.1:2368 by default Keep it local unless a controlled container network requires another private address.

A two-site VPS also needs disk space for WordPress uploads, Ghost images, database growth, logs, and at least one backup set. The documented 1 GB figure should therefore be treated as a floor, not a sizing recommendation for a high-traffic installation.

Plan domains, DNS, and canonical URLs

Give each site one primary hostname

Create DNS records that point both hostnames to the VPS address. In the example, the apex record for example.com points to the server for WordPress and news.example.com points to the same server for Ghost. Nginx distinguishes them by server_name.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Ghost installations have one canonical domain. Decide whether Ghost will use https://news.example.com or another single URL, configure that value in Ghost, and redirect any alternate hostname to it. WordPress should likewise use one consistent site URL so that login links, media URLs, and redirects do not alternate between HTTP, HTTPS, or multiple hostnames.

Allow DNS time to update

Verify that both names resolve to the VPS before requesting certificates. If one name still points to an old host, Nginx may appear to serve the wrong site and certificate validation can fail.

Install the services without claiming the same port

Direct installation

With direct installation, install Nginx once, then install WordPress’s PHP runtime and database and Ghost’s Node.js runtime and database as separate services. Ghost-CLI can configure Ghost as a Systemd-managed service and can create a Let’s Encrypt certificate and Nginx SSL configuration. WordPress remains a file tree served by Nginx with PHP-FPM.

Rank #2
Windex Gaming Cleaning Wipes, Pre-Moistened Wipes to Instantly Clean all Gaming Gear and Electronics, Resealable Packaging for a Freshness Lock, 25 count (Pack of 1)
  • WINDEX GAMING WIPES: effortlessly clean all your gaming gear and gaming electronics in one easy step with our new Windex Gaming Wipes
  • AMMONIA FREE: our ammonia-free formula is safe to use on all of your favorite gaming equipment like consoles, headsets, controllers, screens, keyboards, and more
  • PRE-MOISTENED WIPES: each wipe instantly removes dust, dirt, and stubborn smudges and fingerprints leaving a streak-free shine
  • ANTI-STATIC: great for cleaning and wiping down your gaming gear and electronics leaving behind no visible residue
  • COMPACT RESEALABLE PACKAGE: store your pack of Windex Gaming Wipes anywhere in your home for whenever a quick and easy wipedown is needed

Keep service boundaries clear: the WordPress database user should have access only to the WordPress database, and the Ghost database user should have access only to Ghost’s database. Store application files in separate directories with ownership appropriate to the service that writes them.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Container installation

Containers can make versions and rollbacks easier to reproduce, but they do not remove the need for one edge proxy. Put WordPress, Ghost, their databases, and Nginx on controlled Docker networks. Publish only Nginx’s host ports 80 and 443. Ghost should be reachable from the proxy on an internal network or a private host port, not by exposing its application port to the internet.

The official Ghost Docker guidance requires MySQL 8, HTTPS, and a correctly configured reverse proxy. If a Ghost container includes its own Caddy or Nginx process, do not publish that container on host port 80 or 443 while the shared proxy is running. Use an internal service name or an unused host port instead.

Decision Direct services Containers
Port ownership Nginx owns 80/443; Ghost stays on 127.0.0.1:2368. Only the proxy publishes 80/443; application ports stay on private networks.
Updates Package and application updates are performed on the host. Image tags and persistent volumes define the update and rollback workflow.
Isolation Use separate Unix users, directories, databases, and service units. Use separate containers, volumes, and networks in addition to host controls.
Backups Back up each site’s files and database independently. Back up persistent volumes and database dumps; do not rely on disposable containers.
Reproducibility Depends on documented package and configuration steps. A compose file and pinned images can reproduce the stack more easily.
Resource overhead Usually fewer layers on a small VPS. Adds container runtime and image storage overhead but can simplify isolation.

Configure Nginx as the shared HTTPS edge

Create one HTTP server block for each hostname that redirects to HTTPS, and one HTTPS server block for each site. The WordPress block serves its document root and passes PHP files to PHP-FPM. The Ghost block proxies to the local Node listener.

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://example.com$request_uri;
}

server {
    listen 80;
    server_name news.example.com;
    return 301 https://news.example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name news.example.com;

    ssl_certificate     /path/to/news.example.com/fullchain.pem;
    ssl_certificate_key /path/to/news.example.com/privkey.pem;

    client_max_body_size 50m;

    location / {
        proxy_pass http://127.0.0.1:2368;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

The certificate paths and upload limit in this example are values you must set for your installation; the routing and proxy headers are the important parts. Add an equivalent HTTPS block for WordPress with its document root and PHP-FPM configuration. Keep the WordPress and Ghost server_name values distinct, then validate the complete configuration before reloading Nginx.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Sale
LISEN Cell Phone Stand Phone Holder for Desk, Office Decor Gadgets for Men
  • Ergonomic & Adjustable Design: Fight "text neck" and improve your posture. Designed for comfort, it offers an adjustable height (7.1in-8.5in) (1.4in adjustable range) and angle (5°-85°) Please note: cell phone stand is only 9 inches tall—the length of a standard pencil
  • Without blocking subtitles Perfect for office desk Tiktok Face Time Zoom video—this is the ultimate kitchen desk essential for phones! Perfect viewing experience while reducing neck back strain, A must-have for gamers streamers desk, and anyone who values both style and support!
  • Sleek & Stable Design fits Otterbox Case: Say goodbye to bent cables, tangles, and tip-overs! LISEN’s stylish adjustable desk phone holder features a built-in charging hole and smart cable management, keeping your phone secure and your workspace clutter-free cool gadgets for men
  • ANTI-SLIP DESIGN free hands: The under 10.00 items easy gadgets back and the bottom of this kitchen essentials for women are fully covered by anti-skid silicone, which LISEN stand up desk decor can provide maximum protection device from any scratches and slides
  • Your Perfect Viewing Companion:If your product arrives damaged or breaks within 365 days, reach out to LISEN for a quick and hassle-free solution. Struggling with assembly, like tightening the screw? We’ve got your back! Your experience matters to us. (Product including: phone Holder stand*1, screw*1, hexagon screwdriver*1, specification*1)

Why the forwarded headers matter

Ghost needs to know the original host, client address, and protocol. Set Host, X-Real-IP, X-Forwarded-For, and X-Forwarded-Proto $scheme. The official Ghost Docker guidance also calls for X-Forwarded-Host and an HTTPS value for X-Forwarded-Proto in production.

An incorrect protocol header is a common cause of an HTTPS redirect loop: the browser connects securely to Nginx, Nginx tells Ghost the request was HTTP, and Ghost redirects to HTTPS again. Ensure the proxy sends https when the public request used TLS.

Set an upload limit deliberately

Large WordPress media files and Ghost imports can exceed Nginx’s default request limit. Set client_max_body_size high enough for the largest legitimate upload, then apply matching application limits. Raising the proxy limit alone will not help if PHP, WordPress, or the Ghost importer rejects the request later.

Terminate TLS at Nginx

Use HTTPS for both sites and redirect HTTP to HTTPS. Ghost recommends SSL in production, and Ghost-CLI can obtain a Let’s Encrypt certificate and configure Nginx. Whether certificates are created by Ghost-CLI or another ACME client, renew them at the proxy that owns ports 80 and 443. Test renewal before the first certificate approaches expiration.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Do not expose a second certificate-management proxy on the same ports. If a containerized ACME helper is used, it must coordinate with the shared Nginx configuration rather than bind a competing listener.

Rank #4
Ledagic IC+RGBW USB Powered Led Light Bar with App & Remote Control, 2 Pack
  • Easy Installation: Our gaming lights have been designed to enhance your entertainment experience. Simply position the led light bar next to your TV or game console to create a game room environment with ease. They come with USB power and a 60 inch cord for direct mounting and mobility
  • Audio Syncing & Extensive Mode: The built-in high-sensitivity music sensor allows you to sync the TV led lights to your favorite music. Lights react and move to the beat of music, film and game audio, creating an incredible immersive sound and light experience – and all without the need for an additional hub. You can choose from 64+ patterns, including strobe, illusion, jump, energy, gradient, running, chasing, fluttering mode etc. Each mode can be applied to different scenes
  • 64+ Chasing IC+RGB & W Effect: The independent control design of IC+RGB and white all-in-one multifunctional rgbw led bar lights monitor backlight allows you to easily switch the led lights for desk between IC+RGB and white to enjoy a variety of lighting effects, you can choose white lighting mode with high brightness for better illumination when working, etc. Choose IC+RGB lighting mode when you need to create an entertaining atmosphere for the light show, 16 million colours of Color changing rgb light bar let you dance to the beat and create a dynamic party atmosphere
  • Dynamic and Dimmable Lights: 1%-full brightness free brightness adjustment gives you the flexibility to adjust dimmable led light bar for room decorations or a variety of occasions
  • USB Powered: USB light bars for room can be powered by powernank, usb charger, TV, Monitor, laptop PC mainframe, making behind TV led lighting bar easy to install in any location.TV led lights are powered by the TV usb interface / PC mainframe, can be turned on/off synchronously with TV / PC

Lock down the network and services

  1. Allow SSH, HTTP, and HTTPS through the host firewall. Ghost’s documented setup uses UFW rules for those services.
  2. Bind Ghost to 127.0.0.1:2368 for a direct install, or to a private container network for Docker.
  3. Bind MySQL or MariaDB to localhost or an internal network. Remove public firewall access to database ports.
  4. Keep PHP-FPM’s socket or private TCP port inaccessible from the internet.
  5. Use separate Unix accounts, database credentials, directories, and environment files for WordPress and Ghost.
  6. Install security updates for Ubuntu, Nginx, PHP, Node.js, both applications, and database packages on a scheduled maintenance plan.

Sharing a VPS does not require sharing trust. A compromise in one application should not automatically grant write access to the other site’s files or database.

Verify the deployment before publishing

  1. Confirm both DNS names resolve to the VPS address.
  2. Check that only one process owns host ports 80 and 443.
  3. Open the WordPress hostname over HTTPS and verify that its login, admin pages, CSS, and media use the intended canonical URL.
  4. Open the Ghost hostname over HTTPS and verify the site, admin interface, image upload, and publication workflow.
  5. Inspect response headers or logs to confirm Ghost receives the expected host and HTTPS information.
  6. Temporarily stop Ghost and request its hostname; Nginx should return a controlled 502 rather than displaying WordPress.
  7. Temporarily stop WordPress’s PHP-FPM service and verify that the Ghost hostname remains available.
  8. Upload a file near the configured size limit to each application and confirm that the request reaches the application instead of being rejected by Nginx.
  9. Run the firewall and service checks again after any container or package update.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Back up and test restoration for both sites

Backups must be independent because the two applications have different data layouts and recovery procedures. A file-only backup is not enough for either site.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Ghost backup

Ghost-CLI’s ghost backup command creates a ZIP archive of site data. Store that archive outside the VPS or on storage that a server compromise cannot overwrite. Confirm that the archive can be read and record the Ghost version and database details needed for restoration.

WordPress backup

Capture the WordPress database and the complete site files, including wp-content, uploaded media, themes, plugins, and configuration. Keep database and file backups from a consistent point in time so restored posts do not refer to missing media.

Perform a restore drill

Restore each site to a temporary directory or isolated VPS, point it at a test hostname, and verify login, media, links, scheduled tasks, and HTTPS redirects. A backup that has never been restored is only an assumption. Keep at least one copy separate from the production machine and define how to revoke credentials if the VPS is lost.

Best Value
Sale
HUANUO FlowLift™ Dual Monitor Stand, Fully Adjustable Gaming Monitor Desk Mount for 13–32″ Computer Screens, Full Motion VESA 75x75/100x100 with C-Clamp & Grommet Base, Each Arm Holds 4.4 to 19.8 lbs
  • Compatible with Wide Screens - To ensure compatibility with the dual monitor mount, your each monitor must meet three conditions at the same time: First, computer screens size range: 13 to 32 inches. Second, screen weight range: 4.4 to 19.8 lbs. Third, the back of the monitor screen must have VESA mounting holes with a pitch of 75x75mm or 100x100mm.
  • Regarding the compatibility with desks - Your desk must meet three conditions at the same time: First, desk material: Only wooden desks are recommended, plastic or glass desks cannot be used. Second, desk thickness range: 0.59" - 3.54". Third, the bottom of the desk should not have any cross beams or panels, as this will interfere with installation. We recommend carefully checking that your desk and monitors meets all above conditions before purchasing.
  • Dual C-Clamp Hold - Worried your dual monitors might wobble or slip? Our upgraded base uses a larger platform plus a dual C-clamp structure to lock the dual monitor arm firmly to your desk. Each arm safely keeps your screens steady while you type, click and game—no shaking, no sliding, just a clean and secure setup you can trust every day. It also provides Grommet Mounting installation choice, both options ensure stable and secure fixation for your 0.59" - 3.54" desk.
  • Full-Motion Adjustment For Comfortable View - Pull the screen closer when you’re deep in a spreadsheet, push it back to watch videos, or rotate to portrait for coding — moving everything smoothly with just one hand. The monitor stand offers +85°/-50° tilt, ±90° swivel and 360° rotation. Raise your monitor up to 15.75″ to support a healthy sitting posture. Whether you’re working from home, gaming through the night, or switching between video calls and documents, getting the screens to your natural line of sight helps relieve neck, shoulder and back strain so you can stay focused longer with less fatigue.
  • Keep Your Desk Organized: By lifting both screens off the desktop, this dual monitor stand opens up valuable space for your keyboard, notebook, docking station or a simple, clutter-free work area. Built-in cable management guides wires along the arms, keeping cords out of sight and out of the way. Enjoy a tidy, modern workstation that looks as good as it feels to use.

Troubleshoot the failures that are specific to a shared VPS

Ghost redirects endlessly to HTTPS

Check the Nginx proxy headers first. Ghost must receive X-Forwarded-Proto: https for a secure public request. Also check Ghost’s configured canonical URL and make sure Nginx is not rewriting between two different hostnames.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Nginx returns 502 Bad Gateway

  • Confirm the Ghost service is running and listening on port 2368, or on the internal port selected for the container.
  • Check that Nginx can reach the address from its own network namespace.
  • Review the Nginx error log and Ghost service log for startup or database failures.
  • For WordPress, verify that the PHP-FPM socket or upstream is present and that its permissions allow Nginx to connect.

A port is already allocated

List the process or container owning port 80 or 443. Stop the extra Ghost Docker Caddy/Nginx container or second reverse proxy, then publish only the shared edge Nginx. Ghost itself should use 2368 or an internal service port, never the public web ports.

The wrong site appears

Check DNS, each Nginx server_name, the browser’s actual Host header, and both applications’ canonical URL settings. A default Nginx server block can catch a hostname whose dedicated block failed to load.

Uploads fail

Raise Nginx’s client_max_body_size for legitimate large media or Ghost imports, then check the corresponding PHP, WordPress, or Ghost limit. Confirm that the application’s upload directory is writable by the correct service account and has available disk space.

A database is reachable from the internet

Bind MySQL or MariaDB to localhost or an internal Docker network and remove any public firewall rule for its port. Rotate credentials if the database was exposed, and inspect logs for unauthorized connection attempts.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Choose between self-hosting and managed Ghost hosting

Ghost identifies Ghost(Pro) as its official managed platform and states that self-hosting works on almost any VPS provider. The choice is operational rather than architectural:

Consideration One VPS with self-hosted Ghost and WordPress Managed Ghost service plus separately hosted WordPress
Control Full control over Nginx, operating system, databases, versions, and networking. Less control over Ghost’s underlying server and proxy configuration.
Maintenance You patch the OS, Node.js, Ghost, WordPress, PHP, databases, certificates, and backups. The managed service handles much of Ghost’s platform maintenance; you still maintain WordPress.
Isolation Both sites share VPS resources and require careful limits and monitoring. Ghost’s platform resources are operated separately from the WordPress VPS.
Recurring cost One VPS bill, plus your storage, backup, and administration costs. A managed Ghost subscription in addition to WordPress hosting costs.
Migration flexibility Direct access to files, databases, and proxy rules. Depends on the managed service’s export and integration options.

Self-hosting is a good fit when you can patch and monitor two production applications and have tested backups. Managed hosting is useful when reducing server administration matters more than controlling the complete stack.

Operational practices that keep the sites independent

  • Monitor CPU, memory, disk, database connections, and Nginx error rates for each hostname.
  • Rotate logs so one site cannot fill the VPS disk and take down the other.
  • Schedule application and OS updates separately, with a backup and rollback plan before each change.
  • Use staging or a temporary restore host to test major WordPress, Ghost, PHP, Node.js, and database upgrades.
  • Document which Nginx block, service unit, database, volume, and backup set belongs to each site.
  • Keep administrative interfaces protected by strong credentials, multifactor authentication where available, and restricted access policies.

The central rule is simple: share the reverse proxy and host resources, not public ports, credentials, writable directories, or databases.

Final architecture checklist

  • One Nginx instance owns ports 80 and 443.
  • WordPress and Ghost use different hostnames and canonical URLs.
  • Ghost is reachable privately at 127.0.0.1:2368 or through an internal container network.
  • WordPress uses PHP-FPM and its own database; Ghost uses Node.js and its own MySQL database.
  • Nginx sends the required host, client-IP, forwarded-for, and forwarded-proto headers.
  • HTTPS certificates terminate at the edge proxy, with HTTP redirected to HTTPS.
  • Only SSH, HTTP, and HTTPS are allowed through the firewall.
  • Databases and PHP-FPM are not publicly reachable.
  • Uploads, logs, memory, and disk capacity have been tested under realistic conditions.
  • Separate backups exist for both applications, and both have passed a restore drill.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More quests from Patch Notes

  1. How to Set Up a RedM (RDR2) Server in 2026: License Key, txAdmin and server.cfg, Step by StepBlog11min
  2. Best RedM (RDR2) Server Hosting in 2026: Comparing Four Hosts on Slots, Memory and PriceBlog10min
  3. How to Host a Mindustry Server in 2026: server-release.jar, Port 6567 and the Commands That MatterBlog7min
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.