Cómo instalar WordPress en un VPS Linux con Nginx
Esta guía instala WordPress en un VPS con Ubuntu 22.04 o 24.04 usando la pila LEMP: Linux, Nginx, MariaDB y PHP-FPM. Un servidor con 2 vCPU y 2 GB de RAM es un buen punto de partida; consulta cómo elegir las especificaciones del VPS. También puedes desplegar un VPS en la nube en pocos minutos y seguir los pasos. Reemplaza example.com por tu dominio y apunta antes el registro DNS A a la IP del servidor.
1. Actualiza el servidor y abre el cortafuegos
sudo apt update && sudo apt upgrade -y
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enableSi todavía no has protegido SSH, hazlo primero con la guía de endurecimiento de SSH.
2. Instala Nginx, MariaDB y PHP
sudo apt install -y nginx mariadb-server php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip php-intl unzip curl
sudo mysql_secure_installation3. Crea la base de datos
sudo mysqlCREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'USE_A_LONG_RANDOM_PASSWORD';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;4. Descarga WordPress
cd /tmp && curl -O https://wordpress.org/latest.tar.gz
tar xzf latest.tar.gz
sudo mv wordpress /var/www/example.com
sudo chown -R www-data:www-data /var/www/example.com
cd /var/www/example.com && sudo -u www-data cp wp-config-sample.php wp-config.phpEdita wp-config.php: define DB_NAME, DB_USER y DB_PASSWORD con los valores anteriores, y sustituye las claves de autenticación por otras nuevas del generador oficial en https://api.wordpress.org/secret-key/1.1/salt/.
5. Configura Nginx
Crea /etc/nginx/sites-available/example.com:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.php;
location / { try_files $uri $uri/ /index.php?$args; }
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php-fpm.sock;
}
location ~ /\.ht { deny all; }
}sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginxSi /run/php/php-fpm.sock no existe, usa el socket con la versión, por ejemplo /run/php/php8.3-fpm.sock.
6. Añade un certificado HTTPS gratuito
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.comCertbot instala un temporizador que renueva el certificado automáticamente. Compruébalo con sudo certbot renew --dry-run.
7. Termina en el navegador y refuerza la seguridad
Abre https://example.com y completa el instalador. Después:
- Mantén WordPress, los temas y los plugins actualizados, y elimina los que no uses.
- Usa contraseñas de administrador fuertes y únicas, y activa la autenticación en dos pasos.
- Haz un snapshot o copia de seguridad antes de cada actualización importante.
- Instala un plugin de caché para reducir la carga en un VPS pequeño.
Preguntas frecuentes
¿Qué versión de PHP debo usar?
Usa la versión que incluye tu versión de Ubuntu, siempre que WordPress y tus plugins la admitan. Consulta la página oficial de requisitos.
¿Puedo alojar varios sitios en un mismo VPS?
Sí. Crea un bloque de servidor de Nginx, una base de datos y un directorio por cada sitio, y asigna al servidor RAM suficiente para todos ellos.
¿Por qué veo un 502 Bad Gateway?
Nginx no puede conectar con PHP-FPM. Comprueba que PHP-FPM está en ejecución y que la ruta del socket en el archivo de Nginx coincide con un socket existente.