Cómo configurar CodeIgniter 4 con Nginx en un VPS Ubuntu 20 paso a paso

Hace unos días termine un proyecto simple en codeigniter4 pero al momento de subir a mi vps en ubuntu 20 me dio varios errores. Aquí muestro los errores que me figuraban y como lo solucioné esperando que sea de mucha ayuda para ustedes también.

Antes de empezar tengo un post con videos sobre como configurar un VPS desde cero para prepararlo con nginx, nodejs, vuejs, php, páginas estáticas en html, postgresql,dominios e instalación de https en forma gratuita con lets encrypt.

Para desplegar el proyecto y configurarlo con un dominio en nginx el proyecto la dirección root debe ir a la carpeta public

server { root /var/www/html/ciproyecto/public; }

Este sería un ejemplo para usar php-fpm, las direcciones e instalación de versión varía. server{ root /srv/www/midominio.com; index index.html index.htm index.php; server_name midominio.com www.midominio.com; location / { try_files $uri $uri/ /index.php; }

location ~ \.php$ { #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini include fastcgi_params; fastcgi_intercept_errors on; fastcgi_pass unix:/run/php/php7.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; } }

Mostrar Errores Es posible que esté en modo producción por tanto a mí me empezó a mostrar errores como este:

code igniter 4 error

Así que el proyecto tiene que estar en modo desarrollo y esto está por configurar en el archivo .env en la lína que pone "CI_ENVIRONMENT = development" No obstante no me reconocía este archivo por tanto no podía cambiarlo a modo desarrollo o modo producción, no se el motivo ya que no trabajo constantemente con codeigniter4. Así que me fuí a la manera no recomendable pero más sencilla. ir directamente al archivo de producción el cual tiene la siguiente ruta: /app/Config/Boot/production.php y cambiar a 1 para mostrar los errores de esta forma:

ini_set('display_errors', '1');

Librerías php para: intl, mbstring y postgres De esta forma pude visualizar los errores los cuales mostraba que me faltaban instalar las librerías intl y mbstring , Luego de instalar esas dos me salio el error pg_connect() . Uso postgres cambiar a mysql si es tu caso. Al tener un vps solo instalo lo necesario y solo había instalado php y php-fpm en sus versiones 8.1. así que toca instalar manualmente estas librerías de la siguiente forma (No olvidar primero hacer update):

UBUNTU: sudo apt-get install php-intl php-mbstring UBUNTU POSTGRES PHP: sudo apt-get install php-pgsql

RED HAT/CENTOS: sudo yum install php-intl php-mbstring

Luego ir al php.ini etc/php/8.1/fpm/php.ini y quitar el ; que está adelante de las siguientes extensiones: extension=intl extension=mbstring extension=pgsql extension=pdo_pgsql

Luego reiniciamos nginx:

UBUNTU: sudo service nginx restart RED HAT/CENTOS: buscar comando ;) Luego reiniciamos PHP-FPM

sudo service php8.1-fpm restart # Ajusta la versión según la que estés utilizando

Si tienes algún error de conexión a tu base de datos verifica el archivo app/Config/Database.php Con esto debería ser suficiente. No obstante a mí me cargaba el index pero no podía navegar en las demás rutas. Hay que asegurarnos que pase por el index.php todos los archivos. Y esto es agregando a la configuración nginx try_files con index.php como el siguiente ejemplo: server { server_name example.com; root /var/www/html/myapp/public; location / { try_files $uri $uri/ /index.php; } # ... } Más arriba puse todo lo necesario para este archivo de nginx. Espero te sea de utilidad, suscribete a mi canal de youtube

https://www.youtube.com/channel/UCyHr-0REZv1vnIELcyQPBfw

Artículos relacionados

Arrays en PHP: Guía Completa con Ejemplos

Tutoriales > php

Arrays en PHP: Guía Completa con Ejemplos

Aprende todo sobre los arrays en PHP: qué son, cómo se crean, tipos de arrays, funciones útiles y ejemplos prácticos para programadores principiantes.

Leer más
Bucles en PHP: while, do while, for, foreach y ejemplos prácticos

Tutoriales > php

Bucles en PHP: while, do while, for, foreach y ejemplos prácticos

Aprende todo sobre los bucles en PHP. Descubre cómo funcionan while, do while, for y foreach con ejemplos claros, además de cómo usar break y continue.

Leer más
Cómo configurar CodeIgniter 4 con Nginx en un VPS Ubuntu 20 paso a paso

Tutoriales > php

Cómo configurar CodeIgniter 4 con Nginx en un VPS Ubuntu 20 paso a paso

Aprende a configurar CodeIgniter 4 con Nginx en un VPS Ubuntu 20. Guía completa para instalar, optimizar y desplegar tu aplicación web de forma segura y eficiente.

Leer más
Condicionales en PHP: if, else, elseif, switch y ejemplos prácticos

Tutoriales > php

Condicionales en PHP: if, else, elseif, switch y ejemplos prácticos

Aprende a usar condicionales en PHP paso a paso. Descubre cómo funcionan if, else, elseif, switch, el operador ternario y ?? con ejemplos prácticos y buenas prácticas de programación.

Leer más
Inicios en PHP: Todo lo que debes saber sobre variables y sus tipos

Tutoriales > php

Inicios en PHP: Todo lo que debes saber sobre variables y sus tipos

Aprende los fundamentos de PHP desde cero. Descubre qué son las variables, cómo se declaran, sus tipos principales y ejemplos prácticos para comenzar a programar en PHP.

Leer más
Cómo trabajar con variables en PHP: concatenación, operaciones y ejemplos prácticos

Tutoriales > php

Cómo trabajar con variables en PHP: concatenación, operaciones y ejemplos prácticos

Aprende a usar variables en PHP con ejemplos claros. Descubre cómo declararlas, concatenar cadenas de texto, realizar operaciones matemáticas y aplicar operadores en tus proyectos de programación web.

Leer más
Cómo organizar una clínica veterinaria con un sistema de citas online

Salud > Veterinaria

Cómo organizar una clínica veterinaria con un sistema de citas online

Aprende cómo un sistema de citas online puede ayudarte a organizar tu clínica veterinaria, reducir llamadas telefónicas y mejorar la experiencia de tus clientes.

Leer más
Mininter bajo lupa: la polémica compra de un Antonov AN-74 “usado” para la PNP

Perú > Noticias en Perú #Perú

Mininter bajo lupa: la polémica compra de un Antonov AN-74 “usado” para la PNP

Irregularidades detectadas por la Contraloría motivan una revisión exhaustiva del proceso de compra de un avión Antonov AN-74 por parte del Ministerio del Interior para la Policía Nacional del Perú (PNP), incluyendo cuestionamientos sobre la antigüedad de la aeronave, su procedencia y un posible sobrecosto.

Leer más
Esto está pasando ahora y nadie lo explica: satélites, IA y movimientos que preocupan al mundo

Internacional > Geopolítica

Esto está pasando ahora y nadie lo explica: satélites, IA y movimientos que preocupan al mundo

Un análisis profundo sobre eventos actuales que están ocurriendo simultáneamente: fallas de satélites, decisiones autónomas de la inteligencia artificial y movimientos estratégicos que no aparecen en los grandes medios. ¿Coincidencia o patrón?

Leer más
4 teorías de conspiración que resultaron ser ciertas (que casi nadie conoce)

Internacional > Conspiración

4 teorías de conspiración que resultaron ser ciertas (que casi nadie conoce)

No son las típicas conspiraciones. Estos 4 casos reales fueron negados durante años hasta que se confirmaron oficialmente. Historias reales que parecen ficción.

Leer más
Finanzas para jóvenes: cómo empezar a organizar tu dinero

Economía > Finanzas Personales

Finanzas para jóvenes: cómo empezar a organizar tu dinero

Aprende a manejar tus finanzas desde joven. Consejos prácticos para organizar tu dinero, ahorrar, invertir y construir una base financiera sólida.

Leer más