Antes de comenzar, asegúrate de tener lo siguiente:
1. Una aplicación React compilada (generalmente en la carpeta build
).
2. Nginx instalado en tu servidor.
Primero, crea tu aplicación React (si no lo has hecho ya) y compílala para producción. Usa el siguiente comando en tu proyecto de React:
npm run build
Esto creará una carpeta build
con los archivos optimizados para producción.
Si Nginx no está instalado en tu servidor, puedes instalarlo usando el siguiente comando en una distribución basada en Debian/Ubuntu:
sudo apt update
sudo apt install nginx
Para CentOS/RHEL, usa:
sudo yum install epel-release
sudo yum install nginx
Configura Nginx para servir tu aplicación React. Para ello, crea un archivo de configuración nuevo o edita uno existente.
Crea un archivo de configuración nuevo en el directorio de configuración de Nginx (/etc/nginx/sites-available/
en Debian/Ubuntu o /etc/nginx/conf.d/
en CentOS/RHEL).
sudo nano /etc/nginx/sites-available/react_app
A continuación se muestra una configuración básica para servir una aplicación React:
server {
listen 80;
server_name your_domain.com; # Reemplaza con tu dominio
root /var/www/react_app/build; # Reemplaza con la ruta a tu carpeta build
index index.html index.htm;
location / {
try_files $uri $uri/ /index.html;
}
error_page 404 /404.html;
location = /404.html {
internal;
}
# Configuración para manejar HTTPS (opcional)
listen 443 ssl;
ssl_certificate /etc/ssl/certs/your_certificate.crt; # Reemplaza con tu certificado SSL
ssl_certificate_key /etc/ssl/private/your_private_key.key; # Reemplaza con tu clave privada
# Configuración adicional de SSL (opcional)
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers 'HIGH:!aNULL:!MD5';
}
Enlaza tu archivo de configuración nuevo al directorio de sitios habilitados (en Debian/Ubuntu):
sudo ln -s /etc/nginx/sites-available/react_app /etc/nginx/sites-enabled/
En CentOS/RHEL, el archivo de configuración ya está en el directorio correcto si lo creaste en /etc/nginx/conf.d/
.
Reinicia Nginx para aplicar los cambios:
sudo systemctl restart nginx
Asegúrate de que los archivos de la aplicación React estén en el directorio correcto (/var/www/react_app/build
en nuestro ejemplo). Puedes usar scp
, rsync
, o cualquier otro método de transferencia de archivos para subir los archivos de la carpeta build
a tu servidor.
Después de reiniciar Nginx, tu aplicación React debería estar disponible en tu dominio. Abre un navegador web y navega a http://your_domain.com
para verificar que la aplicación se esté sirviendo correctamente.
Si encuentras problemas, aquí hay algunos pasos de solución de problemas:
1. Revisar los Logs: Los archivos de log de Nginx pueden proporcionar información útil.
sudo tail -f /var/log/nginx/error.log
sudo tail -f /var/log/nginx/access.log
2. Sintaxis de Configuración: Verifica la sintaxis de tu archivo de configuración de Nginx.
sudo nginx -t
3. Permisos de Archivos: Asegúrate de que Nginx tenga permisos de lectura en los archivos de la aplicación.
sudo chown -R www-data:www-data /var/www/react_app/build
Configurar Nginx para servir una aplicación React es un proceso relativamente sencillo que implica crear la aplicación, instalar y configurar Nginx, y asegurarse de que los archivos de la aplicación estén en el lugar correcto. Siguiendo estos pasos, puedes asegurar que tu aplicación React esté bien servida y accesible a través de la web.
Jorge García
Fullstack developer