Guía Completa para Montar una VPS con Next.js en Hostinger
Desplegar un proyecto Next.js en una VPS de Hostinger puede parecer un desafío, pero con esta guía detallada lo lograrás de forma rápida y eficiente. Ya sea que tu dominio esté configurado en Hostinger o apuntando a la IP de tu VPS desde un proveedor externo, aquí te mostrare cómo hacerlo paso a paso.
Nota: Usa el código de referencia 1EDUARDO804 para obtener un 20% de descuento en Hostinger.
1. Configuración Inicial de tu VPS en Hostinger
Sigue estos pasos para configurar tu VPS:
- Compra tu VPS en Hostinger y selecciona Ubuntu como sistema operativo.
- Crea una contraseña segura para tu VPS y guarda tanto el nombre de host como tu clave SSH. Copia tu clave SSH localmente con:
pbcopy < ~/.ssh/id_rsa.pub- Copia la IP de tu VPS para conectarte en los siguientes pasos.
2. Conexión SSH y Actualización del Servidor
Conéctate a tu VPS usando SSH y asegúrate de actualizar el sistema para mantenerlo seguro y eficiente:
ssh usuario@123.123.123.123
sudo apt update && sudo apt upgradeVerifica si git está instalado:
git --versionSi no lo está, instálalo con:
sudo apt install git3. Clonación de tu Proyecto Next.js
Clona tu proyecto desde GitHub (recuerda que necesitarás un token de acceso personal):
git clone https://github.com/tu_usuario/tu_proyecto.git
cd tu_proyecto4. Instalación de NVM y Node.js
Usa NVM (Node Version Manager) para instalar la versión LTS de Node.js:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
source ~/.bashrc
nvm install --lts5. Instalación de Paquetes y Ejecución del Proyecto
Dentro del directorio de tu proyecto, instala las dependencias:
npm installEjecuta el proyecto en modo desarrollo o producción:
npm run dev # Modo desarrollo
npm run build && npm start # Modo producción6. Configuración de PM2 para Producción
PM2 garantiza que tu aplicación permanezca activa incluso después de un reinicio del servidor:
npm install -g pm2
pm2 start npm -- start
pm2 list # Verifica que tu aplicación esté en ejecución7. Instalación y Configuración de Nginx
Nginx funciona como un proxy inverso para dirigir las solicitudes HTTP a tu aplicación Next.js:
sudo apt install nginxCrea un archivo de configuración para tu dominio en /etc/nginx/sites-available/tudominio:
sudo nano /etc/nginx/sites-available/tudominioAgrega la siguiente configuración:
server {
listen 80;
listen [::]:80;
server_name tudominio.com www.tudominio.com;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}Crea un enlace simbólico y reinicia Nginx:
sudo ln -s /etc/nginx/sites-available/tudominio /etc/nginx/sites-enabled/
sudo nginx -t # Verifica la configuración
sudo service nginx restart8. Instalación de Certificados SSL con Certbot
Protege tu sitio con Certbot:
Instala snapd si no lo tienes:
sudo apt install snapdInstala Certbot:
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbotGenera los certificados SSL:
sudo certbot --nginx -d tudominio.com -d www.tudominio.comIngresa un correo electrónico para recibir notificaciones sobre la renovación del certificado.
9. Actualización del Proyecto
Cuando necesites actualizar tu proyecto:
pm2 stop npm
git pull origin main # O la rama que uses
npm install
npm run build
pm2 start npm -- startRecuerda puedes usar el código de referencia 1EDUARDO804 para obtener un 20% de descuento en Hostinger.
¡Felicidades, tu proyecto Next.js ya está desplegado en tu VPS de Hostinger!