⟵ Все статьи
Читать на:

How to Choose a VPS for an Online Store: Criteria, Calculation, and Launch

How to Choose a VPS for an Online Store: Criteria, Calculation, and Launch

An online store has a simple quality criterion for hosting: how many orders you lose due to slow pages and downtime. Every extra second of cart loading means customers walking away, and an hour of unavailability on a sale day costs more than a year of server rental.

Let us break down what configuration a store needs, why shared hosting is usually not enough, and how to launch without breaking anything.

Why a Store Feels Cramped on Shared Hosting

A store is not a set of static pages. Every product view, catalog filter, and checkout step triggers database queries. On shared hosting, resources are divided among hundreds of sites, and at the moment you need full power, a neighbor may take it.

Add background tasks to that: exporting to marketplaces, syncing with accounting systems, sending emails, recalculating stock levels. On shared hosting, such processes are either prohibited or get cut off by resource limits.

On a VPS, resources belong only to you, and the server can be configured for your engine, from the PHP version to database parameters.

How Many Resources You Need

Reference points for a typical store on a PHP engine (Bitrix, OpenCart, WooCommerce): up to 100 products and 500 visitors per day, 2 vCPU and 4 GB of RAM; up to 5,000 products and 3,000 visitors, 4 vCPU and 8 GB; a large catalog with integrations, from 8 vCPU and 16 GB.

RAM matters more than cores here: it is the first thing to run out when the database, PHP, and cache are all running simultaneously. The second most important parameter is the disk: NVMe speeds up catalog and admin panel performance several times compared to a regular SSD.

Calculate based on peaks, not averages. A store lives by sales and newsletters: if the load is 20 percent on a normal day but spikes five times on Black Friday, the configuration must handle Friday.

Plans up to 16 vCPU and 32 GB, with headroom for sales and integrations.

View Plans

Location and Speed

Physical distance to the buyer means latency that no code optimization can fix. For a store serving Russia and Eastern Europe, European data centers are a reasonable choice: ping from there is usually 30 to 50 ms, which is imperceptible to a person.

In the server creation wizard in the NodexGo panel, ping to each location is measured directly from your browser. Choose based on that number, not the country name.

What Else Is Critical for a Store

Backups. On a VPS, you handle them yourself. For a store, the database should be backed up at least every few hours: a day of lost orders means real money and disputes with customers.

A dedicated IP address and proper email setup. Order confirmation emails must be delivered: configure SPF and DKIM, otherwise confirmations will end up in spam.

The ability to scale quickly. Make sure the plan can be upgraded without migrating: in the panel, the button for this is called Increase Resources, and your disk and IP address are preserved while the store keeps running.

Server access in a critical moment. If the site goes down at night and SSH is not responding, the VNC web console in the server card saves the day as it works independently of the network.

How to Launch a Store on a VPS

A sequence of steps that keeps everything intact. First, create a server: in the panel, click Create Server, then select the location with the lowest ping, choose a plan, select the Ubuntu 24.04 image, set a name and billing period of 1, 3, 6, or 12 months. Within a minute, the IP address and root password appear in the panel and are sent to your email.

Connect and update the system:

ssh root@server-IP-address
apt update && apt upgrade -y

Deploy a copy of the store alongside the live site and verify it via the hosts file on your computer. This way you see the new server while customers continue to see the old one. The line in the hosts file looks like this:

203.0.113.10 example.com www.example.com

Go through the store as a customer: catalog, filters, cart, checkout, payment, order confirmation email. Only when everything works should you switch the domain A record to the new IP. One day in advance, reduce the record TTL to 300 seconds so the switch takes only minutes.

After the migration, issue a certificate and set up regular database backups:

certbot --nginx -d example.com -d www.example.com
mysqldump -u root --single-transaction --routines database_name | gzip > /root/shop-$(date +%F).sql.gz

What This Costs Compared to Your Losses

The difference between a basic and a mid-tier plan is usually a few euros per month. A single order lost due to a timeout often costs more. That is why the logic for a store is the reverse of the usual: not which plan is the cheapest, but which headroom guarantees the sale will not bring the site down.

That said, there is no need to overpay years in advance: start with a configuration sized for your current peaks and upgrade the plan as you grow. Your data and IP address stay in place.

A server for your store is ready approximately one minute after payment.

Create Server

Мы используем файлы cookie: необходимые — для входа в аккаунт и языка интерфейса, аналитические — чтобы понимать, какими страницами пользуются. Сторонних рекламных систем у нас нет. Подробнее