{"id":25777,"date":"2026-05-06T10:00:00","date_gmt":"2026-05-06T08:00:00","guid":{"rendered":"https:\/\/soccorsowp.it\/blog\/?p=25777"},"modified":"2026-05-06T10:00:00","modified_gmt":"2026-05-06T08:00:00","slug":"wordpress-vps-configurare-server-virtuale","status":"publish","type":"post","link":"https:\/\/soccorsowp.it\/blog\/wordpress-vps-configurare-server-virtuale\/","title":{"rendered":"WordPress su VPS: come configurare un server virtuale da zero"},"content":{"rendered":"<h1>WordPress su VPS: come configurare un server virtuale da zero<\/h1>\n<p>Un <strong>VPS (Virtual Private Server)<\/strong> offre prestazioni superiori rispetto a un hosting condiviso, dandoti il pieno controllo su risorse, configurazione e sicurezza del tuo sito <a href=\"https:\/\/soccorsowp.it\/blog\/blocco-di-contenuti-opt-in-per-wordpress\/\">WordPress<\/a>. Se il tuo sito \u00e8 cresciuto e l&#8217;hosting condiviso non basta pi\u00f9, passare a un VPS \u00e8 il passo naturale. In questa guida ti spiego come configurare un server virtuale da zero per ospitare WordPress con prestazioni ottimali.<\/p>\n<h2>Quando passare da hosting condiviso a VPS<\/h2>\n<p>L&#8217;hosting condiviso funziona bene per siti piccoli con poco traffico, ma mostra i suoi limiti quando il sito cresce. Ecco i segnali che indicano la necessit\u00e0 di un <strong>VPS per WordPress<\/strong>:<\/p>\n<ul>\n<li><strong>Tempi di risposta lenti:<\/strong> il sito impiega pi\u00f9 di 2-3 secondi a caricare nonostante le ottimizzazioni.<\/li>\n<li><strong>Errori 503 frequenti:<\/strong> il server non riesce a gestire il numero di visitatori contemporanei.<\/li>\n<li><strong>Limiti di risorse:<\/strong> il provider ti avvisa di aver superato i limiti di CPU o RAM.<\/li>\n<li><strong>Necessit\u00e0 di configurazioni personalizzate:<\/strong> vuoi installare moduli PHP specifici, Redis, o configurare Nginx a modo tuo.<\/li>\n<\/ul>\n<p>Con un VPS hai risorse dedicate (CPU, RAM, disco) che non condividi con altri siti. Questo significa prestazioni prevedibili e la libert\u00e0 di configurare il server esattamente come preferisci, senza le limitazioni imposte dagli hosting condivisi.<\/p>\n<h2>Scegliere il provider VPS giusto<\/h2>\n<p>I principali provider VPS offrono piani a partire da 5-10 euro al mese. Tra i pi\u00f9 affidabili per WordPress ci sono <strong>Hetzner<\/strong> (ottimo rapporto qualit\u00e0-prezzo con server in Europa), <strong>DigitalOcean<\/strong> (interfaccia semplice e documentazione eccellente), <strong>Contabo<\/strong> (prezzi aggressivi con molte risorse) e <strong>Vultr<\/strong> (ampia scelta di datacenter). Per un sito WordPress con traffico medio (fino a 50.000 visite al mese), un VPS con 2 GB di RAM, 2 vCPU e 40 GB SSD \u00e8 un buon punto di partenza.<\/p>\n<h2>Configurazione iniziale del server<\/h2>\n<p>Dopo aver creato il VPS, collegati via SSH e inizia con la configurazione di base. Usa Ubuntu 22.04 LTS o Debian 12 come sistema operativo: sono stabili e ben supportati dalla community WordPress.<\/p>\n<pre># Aggiornare il sistema\napt update &amp;&amp; apt upgrade -y\n\n# Creare un utente non-root\nadduser wordpress\nusermod -aG sudo wordpress\n\n# Configurare il firewall\nufw allow OpenSSH\nufw allow 80\/tcp\nufw allow 443\/tcp\nufw enable<\/pre>\n<p>Disabilita il login root via SSH e configura l&#8217;autenticazione con chiave pubblica per una sicurezza maggiore. Modifica il file <span style=\"font-family: monospace\">\/etc\/ssh\/sshd_config<\/span> impostando <span style=\"font-family: monospace\">PermitRootLogin no<\/span> e <span style=\"font-family: monospace\">PasswordAuthentication no<\/span>.<\/p>\n<h2>Installare lo stack LEMP<\/h2>\n<p>Per WordPress su VPS, lo stack <strong>LEMP<\/strong> (Linux, Nginx, MySQL, PHP) \u00e8 la scelta migliore in termini di prestazioni. Nginx \u00e8 pi\u00f9 veloce di Apache nel servire contenuti statici e gestisce meglio le connessioni concorrenti:<\/p>\n<pre># Installare Nginx\napt install nginx -y\n\n# Installare MySQL\/MariaDB\napt install mariadb-server -y\nmysql_secure_installation\n\n# Installare PHP 8.2 con le estensioni necessarie\napt install php8.2-fpm php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip php8.2-intl php8.2-imagick -y<\/pre>\n<p>Dopo l&#8217;installazione, crea il database per WordPress:<\/p>\n<pre>mysql -u root -p\nCREATE DATABASE wordpress_db;\nCREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'password_sicura_qui';\nGRANT ALL PRIVILEGES ON wordpress_db.* TO 'wp_user'@'localhost';\nFLUSH PRIVILEGES;\nEXIT;<\/pre>\n<h2>Configurare Nginx per WordPress<\/h2>\n<p>Crea un file di configurazione Nginx ottimizzato per WordPress. Il blocco server deve gestire correttamente i permalink e i file statici:<\/p>\n<pre>server {\n    listen 80;\n    server_name esempio.com www.esempio.com;\n    root \/var\/www\/wordpress;\n    index index.php;\n\n    location \/ {\n        try_files $uri $uri\/ \/index.php?$args;\n    }\n\n    location ~ .php$ {\n        include fastcgi_params;\n        fastcgi_pass unix:\/run\/php\/php8.2-fpm.sock;\n        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\n    }\n\n    location ~* .(js|css|png|jpg|jpeg|gif|ico|svg|woff2)$ {\n        expires 30d;\n        add_header Cache-Control \"public, immutable\";\n    }\n}<\/pre>\n<p>Questa configurazione include il caching dei file statici per 30 giorni, che riduce il carico sul server e velocizza il caricamento per i visitatori di ritorno.<\/p>\n<h2>Installare WordPress e configurare SSL<\/h2>\n<p>Scarica e installa WordPress nella directory configurata:<\/p>\n<pre>cd \/var\/www\nwget https:\/\/wordpress.org\/latest.tar.gz\ntar xzf latest.tar.gz\nchown -R www-data:www-data wordpress\nchmod -R 755 wordpress<\/pre>\n<p>Per il certificato SSL gratuito, usa <strong>Certbot<\/strong> con Let&#8217;s Encrypt:<\/p>\n<pre>apt install certbot python3-certbot-nginx -y\ncertbot --nginx -d esempio.com -d www.esempio.com<\/pre>\n<p>Certbot configura automaticamente Nginx per HTTPS e imposta il rinnovo automatico del certificato. Verifica che il rinnovo funzioni con <span style=\"font-family: monospace\">certbot renew &#8211;dry-run<\/span>.<\/p>\n<h2>Ottimizzare PHP e MySQL per le prestazioni<\/h2>\n<p>Le configurazioni predefinite di PHP e MySQL sono conservative. Per WordPress su VPS, modifica <span style=\"font-family: monospace\">\/etc\/php\/8.2\/fpm\/php.ini<\/span> con questi valori ottimizzati:<\/p>\n<pre>memory_limit = 256M\nupload_max_filesize = 64M\npost_max_size = 64M\nmax_execution_time = 300\nopcache.enable = 1\nopcache.memory_consumption = 128\nopcache.max_accelerated_files = 10000<\/pre>\n<p>Per MySQL, modifica <span style=\"font-family: monospace\">\/etc\/mysql\/mariadb.conf.d\/50-server.cnf<\/span> e aumenta il buffer pool di InnoDB in base alla RAM disponibile. Con 2 GB di RAM totali, imposta <span style=\"font-family: monospace\">innodb_buffer_pool_size = 512M<\/span>. Questa singola modifica pu\u00f2 migliorare drasticamente le prestazioni delle query WordPress.<\/p>\n<h2>Aggiungere Redis come object cache<\/h2>\n<p>Un vantaggio del VPS \u00e8 poter installare <strong>Redis<\/strong> per il caching degli oggetti WordPress. Redis mantiene in memoria i risultati delle query al database, riducendo enormemente i tempi di risposta:<\/p>\n<pre>apt install redis-server -y\nsystemctl enable redis-server<\/pre>\n<p>Dopo l&#8217;installazione, aggiungi il plugin Redis Object Cache in WordPress e attivalo. Nelle impostazioni del plugin, verifica che la connessione a Redis sia attiva. Il miglioramento \u00e8 immediato: le pagine che richiedevano 10-20 query al database ora le recuperano dalla cache in millisecondi.<\/p>\n<h2>Backup e manutenzione del VPS<\/h2>\n<p>Con un VPS, la responsabilit\u00e0 di backup e aggiornamenti \u00e8 interamente tua. Configura un cron job per backup giornalieri automatici del database e dei file WordPress. Mantieni il sistema operativo aggiornato con aggiornamenti di sicurezza automatici installando il pacchetto <span style=\"font-family: monospace\">unattended-upgrades<\/span>. Monitora lo spazio su disco e l&#8217;utilizzo delle risorse con strumenti come <span style=\"font-family: monospace\">htop<\/span> e <span style=\"font-family: monospace\">df -h<\/span> per prevenire problemi prima che impattino il sito.<\/p>\n<p>Imposta anche un sistema di monitoraggio uptime (come UptimeRobot o Hetrixtools, entrambi con piani gratuiti) che ti avvisi via email o Telegram se il sito va offline. A differenza dell&#8217;hosting condiviso, su un VPS nessuno ti notifica automaticamente dei problemi: devi essere tu a sorvegliare il server.<\/p>\n<h2>Serve aiuto con la configurazione?<\/h2>\n<p>Configurare un VPS per WordPress richiede competenze tecniche e attenzione ai dettagli. Se vuoi le prestazioni di un server dedicato senza la complessit\u00e0 della gestione, il team di <strong><a href=\"https:\/\/soccorsowp.it\/blog\/i-migliori-plugin-woocommerce-per-dominare-il-black-friday\/\">SoccorsoWP<\/a><\/strong> pu\u00f2 configurare e ottimizzare il tuo VPS per WordPress. <a href=\"https:\/\/soccorsowp.it\/ticket\/\">Apri un ticket<\/a> e affida la configurazione a chi lo fa ogni giorno.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>WordPress su VPS: come configurare un server virtuale da zero Un VPS (Virtual Private Server) offre prestazioni superiori rispetto a un hosting condiviso, dandoti il&#8230;<\/p>\n","protected":false},"author":1,"featured_media":25778,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_titles_title":"WordPress su VPS: guida completa per configurare un server","_seopress_titles_desc":"Guida passo passo per installare WordPress su VPS con Nginx, PHP, MySQL, SSL e Redis. Configura il tuo server virtuale per prestazioni ottimali.","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_robots_imageindex":"","_seopress_robots_snippet":"","_seopress_robots_primary_cat":"","_seopress_robots_breadcrumbs":"","_seopress_robots_freeze_modified_date":"","_seopress_robots_custom_modified_date":"","_seopress_robots_canonical":"","_seopress_social_fb_title":"","_seopress_social_fb_desc":"","_seopress_social_fb_img":"","_seopress_social_fb_img_attachment_id":0,"_seopress_social_fb_img_width":0,"_seopress_social_fb_img_height":0,"_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_seopress_social_twitter_img":"","_seopress_social_twitter_img_attachment_id":0,"_seopress_social_twitter_img_width":0,"_seopress_social_twitter_img_height":0,"_seopress_redirections_value":"","_seopress_redirections_enabled":"","_seopress_redirections_enabled_regex":"","_seopress_redirections_logged_status":"","_seopress_redirections_param":"","_seopress_redirections_type":0,"_seopress_analysis_target_kw":"","footnotes":""},"categories":[1698],"tags":[],"class_list":["post-25777","post","type-post","status-publish","format-standard","has-post-thumbnail","category-hosting-wordpress"],"_links":{"self":[{"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/posts\/25777","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/comments?post=25777"}],"version-history":[{"count":0,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/posts\/25777\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/media\/25778"}],"wp:attachment":[{"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/media?parent=25777"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/categories?post=25777"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/tags?post=25777"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}