Yes, one VPS can run several Ghost publications. The dependable design is one independent Ghost installation per blog, with its own directory, database credentials, configuration, systemd service and local port. Nginx listens publicly on ports 80 and 443, selects a server block from the requested domain, terminates HTTPS and proxies the request to the matching Ghost process.
Antihost offers Linux VPS plans with full root access, unlimited traffic on a 1 Gbps port and a 14-day free trial.
That arrangement keeps upgrades, failures, backups and permissions from crossing site boundaries. It also stays within Ghost’s supported model: one Ghost instance per site. This guide shows how to plan the server, install each publication, route domains with Nginx, issue certificates, test the result and troubleshoot the common failure modes.
As an Amazon Associate I earn from qualifying purchases.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →The architecture that works
Think of the VPS as a host for several separate applications, not as one Ghost application with several domains attached to it. Every publication gets a complete Ghost-CLI installation. Nginx is the shared front door, while each Ghost process remains private on localhost.
Internet
|
Nginx :80 / :443
|-- journal.example.com -> Ghost site A (127.0.0.1:2368)
|-- games.example.com -> Ghost site B (127.0.0.1:2369)
|-- news.example.com -> Ghost site C (127.0.0.1:2370)
The port numbers in this diagram are illustrative. Ghost’s official documentation does not prescribe a multi-site port plan, so choose unused local ports and record them in your deployment notes. The essential rule is that no two installations use the same process identity, database, directory or listening port.
#1 Best Overall
- 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.
Why one Ghost installation per publication matters
- Each publication has one canonical public URL in its Ghost configuration.
- An independent directory contains that site’s configuration, content, current release, system files and installed versions.
- A separate systemd unit can restart one failed blog without restarting the others.
- Separate database users and databases limit accidental cross-site changes.
- Backups and restores can be performed per publication.
- Nginx can send each hostname to exactly one intended Ghost process.
Do not point two live domains at the same Ghost process unless the second domain is deliberately redirecting to that publication’s canonical URL. Ghost uses one public URL for a publication; treating one process as two independent sites leads to incorrect links, admin redirects and asset URLs.
Supported baseline and planning requirements
Ghost’s official hosting guidance recommends Ubuntu 24, Node.js 22 LTS, MySQL 8.0, Nginx, systemd, HTTPS, a non-root user and a server with at least 1GB of memory. The 1GB figure is a baseline requirement, not a promise that a particular VPS can run a fixed number of blogs. Capacity depends on traffic, database activity, media processing, administration and caching.
Baseline components
| Component | Baseline | What to verify for several sites |
|---|---|---|
| Operating system | Ubuntu 24 | Apply security updates and keep enough disk space for multiple releases and backups. |
| Runtime | Node.js 22 LTS | Use the supported runtime consistently for every installation. |
| Database | MySQL 8.0 | Create a distinct database and credential set for each publication. |
| Web server | Nginx | Use one server block per hostname and route to the correct local port. |
| Process manager | systemd | Keep a separate service identity and restart policy for each Ghost install. |
| Security | HTTPS and a non-root operator | Ensure ports 80 and 443 are reachable for certificate issuance and redirects. |
| Memory | At least 1GB | Monitor real usage; no official capacity-per-blog benchmark is published. |
Plan domains before installing
For every blog, choose the final hostname first. Create DNS records for all hostnames so they point to the VPS address. A certificate request and Ghost’s canonical URL both depend on the exact domain, including whether you use a subdomain such as journal.example.com or a separate domain.
Make a small inventory before you begin:
| Publication | Canonical URL | Install directory | Database | Local port |
|---|---|---|---|---|
| Journal | https://journal.example.com | /srv/ghost/journal | journal_db | 2368 (example) |
| Games | https://games.example.com | /srv/ghost/games | games_db | 2369 (example) |
| News | https://news.example.com | /srv/ghost/news | news_db | 2370 (example) |
The paths, database names and ports above are examples. Replace them with values that are unique on your server, then keep the same values in Ghost’s configuration, Nginx and your operational records.
Budget beyond the VPS
Self-hosting does not eliminate the other services a publication needs. Budget separately for email delivery, analytics and any CDN or caching service. Those costs recur at the portfolio level or per publication, depending on the provider. The official material does not state a universal monthly total, so do not infer one from the 1GB server baseline.
Rank #2
- 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
Install the first publication
Install one site completely and prove the pattern before adding more. Operate Ghost commands as a non-root user; Ghost-CLI is designed to create and manage the low-privilege service user used by the installation.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstall- Provision the VPS. Use the supported Ubuntu, Node.js, MySQL and Nginx baseline. Confirm that the server has a stable public address and that inbound ports 80 and 443 can reach it.
- Point DNS. Create the A or equivalent address record for the first hostname and wait until it resolves to the VPS. Certificate issuance cannot succeed while the hostname points elsewhere.
- Create a dedicated directory. For example, use
/srv/ghost/journalfor the journal site. Do not place two Ghost installations in one directory. - Run Ghost-CLI installation from that directory. Supply the publication’s canonical HTTPS URL when prompted or when setting the site configuration. The URL must match the hostname readers will use.
- Run the setup stages. Ghost-CLI’s setup flow can create the MySQL user, configure Nginx, request Let’s Encrypt SSL through acme.sh, perform database migration, create the low-privilege Linux user and create the systemd unit. You can run the stages individually instead when you need a controlled rollout.
- Confirm the local process. Record the service identity and local listening port produced by the installation. The port must be unused by every other Ghost site.
- Open the site. Visit the HTTPS front end and the admin URL, sign in, create a test post and upload a small image. Confirm that links and assets use the canonical HTTPS hostname.
Ghost-CLI creates a predictable per-install layout containing configuration, content, the current version, system files and installed versions. Keep that layout intact; manual moves or ownership changes can break updates and service startup.
Repeat the pattern for each additional blog
For the second and later publications, repeat the complete installation process rather than copying a working directory. A copied configuration can retain the first site’s URL, database credentials, content path or service identity.
- Create a new DNS record for the new hostname.
- Create a new, empty installation directory.
- Run Ghost-CLI from that directory as the non-root operator.
- Assign a new database name and database user. Never reuse the first publication’s credentials.
- Set the new site’s canonical HTTPS URL.
- Choose and record a distinct local port.
- Let Ghost-CLI generate or update that site’s Nginx, SSL and systemd configuration.
- Test the new hostname before moving on to the next site.
Isolation checklist
- Filesystem: content, configuration and release files live below only that site’s directory.
- Database: the database name and user are unique to the publication.
- Process: the systemd unit identifies only that installation.
- Port: Nginx targets the port belonging to that process.
- Hostname: the Nginx
server_nameand Ghosturlagree. - Ownership: files remain readable and writable by the low-privilege Ghost service account after migrations or manual file operations.
Configure Nginx as the domain router
Ghost is designed to have a reverse proxy in front of it. Nginx receives the public request, handles TLS and forwards the request to the private Ghost listener. Use one server block per domain and certificate.
HTTP redirect and HTTPS proxy example
The following is an illustrative block for journal.example.com. Ghost-CLI may generate equivalent configuration; inspect the generated file before making manual changes.
Rank #3
- 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)
server {
listen 80;
listen [::]:80;
server_name journal.example.com;
return 301 https://journal.example.com$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name journal.example.com;
ssl_certificate /etc/letsencrypt/live/journal.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/journal.example.com/privkey.pem;
client_max_body_size 50m;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:2368;
}
}
Use a matching block for every other hostname, changing server_name, certificate paths and proxy_pass port. The certificate paths shown are conventional examples; use the paths created on your server.
Headers that prevent subtle failures
Hostpreserves the original domain so Ghost can resolve the correct canonical URL.X-Forwarded-Forcarries the client address through the proxy chain.X-Real-IPexposes the direct client address to the upstream application.X-Forwarded-Prototells Ghost whether the original request was HTTPS. When Nginx terminates TLS, set it tohttps. An incorrect value can produce an infinite HTTPS redirect loop.
Choose client_max_body_size for the largest files editors are expected to upload. The default may be too small for high-resolution images, theme archives, imports, audio or video. Increase it deliberately rather than using an unlimited value without considering disk space and abuse risk.
HTTPS, canonical URLs and certificates
Each publication needs a certificate covering its exact hostname. Ghost-CLI can handle Nginx configuration and Let’s Encrypt certificate setup through acme.sh as part of its setup stages. If you perform those stages manually, verify DNS first and keep port 80 reachable for the certificate authority’s validation.
Set every site’s Ghost URL to its final HTTPS address, such as https://games.example.com. Then test both HTTP and HTTPS:
- HTTP should redirect to the same hostname over HTTPS.
- The admin link should remain on that hostname and should not bounce between domains.
- Images, scripts and canonical links should load over HTTPS without mixed-content warnings.
- A certificate error should name the hostname being visited, not a different publication.
If a redirect loop appears, check three values together: the Nginx server_name, Ghost’s configured url and the X-Forwarded-Proto value. A mismatch in any one of them can make Ghost believe an HTTPS request is still HTTP.
Rank #4
- 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
Validate every site before launch
Run the same acceptance checklist for each domain. Testing one site does not prove that the other server blocks, ports and certificates are correct.
- Resolve the hostname from an external network and confirm it returns the VPS address.
- Open the HTTP URL and verify a redirect to the matching HTTPS hostname.
- Open the HTTPS home page and inspect the certificate name and expiry.
- Open the admin URL, authenticate and publish a private test post.
- Upload an image and verify that it appears in the editor and on the rendered page.
- Check that links, feeds and canonical tags use only that publication’s URL.
- Restart the individual systemd service and confirm that only its site briefly becomes unavailable.
- Reboot the VPS during a maintenance window and confirm that every expected service starts automatically.
- Review Nginx and Ghost logs for upstream errors, permission failures and repeated restarts.
Backups, updates and day-to-day operations
Back up by publication
Keep database and content backups separable. A practical per-site set includes a MySQL dump, the Ghost content directory and the configuration needed to recreate the service. Store copies away from the VPS and test restoration on a separate location; an untested archive is not a recovery plan.
Free tools Windows power users keep installed
One-click scans. No signup required.
mysqldump -u journal_db_user -p journal_db > journal.sql
tar -czf journal-content.tgz /srv/ghost/journal/content
The names and paths in this example correspond to the illustrative journal site. Substitute the actual credentials and directory for each publication, and protect SQL dumps because they may contain private data.
Update one site at a time
Ghost releases, themes and integrations can consume CPU, memory and disk during migration. Schedule updates, verify the target site’s service and database backup, then update that installation before proceeding to the next. If a migration changes ownership, restore the expected low-privilege ownership before restarting the service.
Monitor shared resources
Watch memory pressure, swap, CPU, disk usage, database load, Nginx errors and Ghost restart counts. A quiet blog and an active publication share the VPS’s resources, so a traffic spike, image processing job or large import on one site can reduce headroom for all the others.
Best Value
- 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 by symptom
| Symptom | Likely checks | Corrective action |
|---|---|---|
| The wrong blog opens | Nginx server_name, DNS record and the upstream port. |
Point the hostname to the correct block and port; ensure the requested host is preserved. |
| Infinite HTTPS redirects | Ghost url and X-Forwarded-Proto. |
Use the final HTTPS URL and set the forwarded protocol to https when TLS ends at Nginx. |
| 502 Bad Gateway | Whether the intended Ghost service is running and whether Nginx targets its actual local port. | Start or repair that service, then correct the upstream address if it changed. |
| Uploads fail with a request-size error | Nginx client_max_body_size. |
Raise the limit to suit the largest legitimate upload and reload Nginx. |
| Uploads fail with a permission error | Ownership and write permissions under the site’s content directory. | Restore ownership for the low-privilege Ghost service account; avoid making the directory world-writable. |
| Certificate issuance fails | DNS resolution, port 80/443 reachability and the exact hostname on the request. | Fix DNS or firewall reachability, then request a certificate for the exact domain. |
| One site affects another | Shared directory, database user, service unit, port or Nginx block. | Separate the colliding resource and verify each site’s inventory. |
| All sites slow down | Memory, CPU, database load, media processing and cache hit rate. | Inspect logs and resource graphs, add caching or a CDN, and resize the VPS when measured demand requires it. |
Capacity and the scaling boundary
The only explicit resource number in the official hosting guidance is at least 1GB of memory. There is no dated official benchmark stating how many independent blogs a VPS of a given size can support. Do not turn the minimum into a capacity promise.
Measure your own workload. Important variables include concurrent readers, Admin and API activity, database size, image and media processing, backup jobs, theme complexity and cache hit rate. Leave headroom for migrations and traffic spikes instead of running the server at its steady-state limit.
When traffic grows, place caching or a CDN in front of Nginx and continue monitoring the origin. Ghost’s clustering FAQ states that Ghost does not support load-balanced clustering or multi-server setups of any description and that there should be only one Ghost instance per site. Do not split one publication across several Ghost nodes as a scaling shortcut. Multiple independent publications on one VPS are supported by the per-install model; a multi-node cluster for one publication is a different, unsupported design.
Choosing an implementation approach
| Approach | Isolation | Automation | Certificate handling | Operational fit |
|---|---|---|---|---|
| One Ghost-CLI install per site | Strong: separate directory, database, service and port. | Ghost-CLI can run database, Nginx, SSL, migration, user and systemd stages. | Can be handled during setup through acme.sh. | Best default for several independent publications. |
| Ghost-CLI with manually controlled stages | Strong when the same boundaries are preserved. | Lower automation; useful when each change needs review. | Run and verify certificate work separately. | Useful for staged or tightly audited deployments. |
| One shared Ghost process for many sites | Weak: one URL, database and failure domain. | May appear simpler but conflicts with per-publication configuration. | Hostname routing cannot fix a shared canonical URL. | Use only for an intentional redirect, not independent blogs. |
| Load-balanced Ghost nodes for one site | Not within Ghost’s supported boundary. | Requires unsupported clustering behavior. | Does not solve application-state constraints. | Do not use; add caching or a CDN before considering a platform change. |
Compare designs on more than CPU and memory. Check backup and restore boundaries, failure isolation, certificate renewal, operator workload, database separation and whether the arrangement remains within Ghost’s one-instance-per-site support boundary.
Quick Recap
Security and reliability details worth keeping
- Run administration and Ghost commands as a non-root user; reserve root for system provisioning tasks.
- Keep MySQL inaccessible to the public internet unless a documented requirement makes that unavoidable.
- Expose Ghost listeners only on localhost; Nginx is the public entry point.
- Use unique, strong database credentials and store them in a protected password system.
- Limit upload size to an operationally justified value and monitor disk consumption.
- Protect backups, especially SQL dumps that may contain member or administrator data.
- Document every hostname, directory, database, service unit, port and certificate path.
- Test certificate renewal and restore procedures before an incident forces you to discover a missing permission or expired credential.
A practical launch checklist
- All DNS records resolve to the VPS.
- Ubuntu, Node.js, MySQL and Nginx meet the supported baseline.
- Every blog has a unique directory, database, user, service and port.
- Every Ghost
urlis the final HTTPS hostname. - Every Nginx block has the correct
server_nameand upstream. - Forwarded headers preserve the host, client address and HTTPS scheme.
- Certificates cover the exact domains and HTTP redirects to HTTPS.
- Admin login, publishing, image upload and restart tests pass for every site.
- Backups are off-server and a restore has been rehearsed.
- Memory, CPU, database, disk and logs are being monitored.
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.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.




