View AllRomance

Travel

Fashion

Latest News

viernes, 8 de agosto de 2025

¿Vale la pena estudiar una carrera universitaria si quieres ser programador?

 


¿Es necesario ir a la universidad para ser programador? Comparamos pros y contras de estudiar una carrera frente al aprendizaje autodidacta en programación.

Hoy en día, aprender a programar nunca ha sido tan accesible. Con miles de tutoriales gratuitos, bootcamps intensivos, canales de YouTube, y herramientas como GitHub Copilot o ChatGPT, muchos se preguntan:
¿Realmente vale la pena estudiar una carrera universitaria para ser programador?

Es una pregunta polémica, con opiniones divididas. Algunos juran que el título universitario es esencial; otros dicen que es una pérdida de tiempo y dinero. En este artículo analizamos los pros y contras, casos reales y lo que realmente importa en el mundo laboral actual.


🎓 ¿Qué ofrece la universidad?

Estudiar una carrera como Ingeniería de Software, Ciencias de la Computación o Sistemas tiene sus ventajas:

✅ Ventajas:

  1. Base sólida en fundamentos: algoritmos, estructuras de datos, lógica, arquitectura de computadores… cosas que un autodidacta puede pasar por alto.

  2. Reconocimiento profesional: tener un título aún abre puertas en ciertas empresas, sobre todo corporaciones grandes o del extranjero.

  3. Red de contactos: tus profesores, compañeros y eventos académicos pueden ayudarte a conseguir prácticas o empleo.

  4. Metodología estructurada: sigues un plan de estudios claro y progresivo.

  5. Acceso a becas, intercambios o pasantías internacionales.

❌ Desventajas:

  • Duración larga: 4 o 5 años que podrías usar para trabajar y ganar experiencia.

  • Costo elevado: en muchos países, estudiar una carrera universitaria implica endeudarse.

  • Contenido desactualizado: algunas universidades enseñan tecnologías antiguas o no se adaptan al mercado actual.


🧠 ¿Y el camino autodidacta?

Miles de programadores exitosos aprendieron por su cuenta: con cursos en línea, proyectos personales y práctica diaria.

✅ Ventajas:

  1. Más rápido y económico: puedes aprender lo necesario en meses, sin endeudarte.

  2. Aprendes lo que necesitas: tú eliges qué tecnologías estudiar según tus intereses o el mercado.

  3. Proyectos reales desde el inicio: muchos autodidactas aprenden haciendo cosas útiles: webs, apps, bots, etc.

  4. Eres dueño de tu ritmo y estilo de aprendizaje.

❌ Desventajas:

  • Falta de estructura: es fácil perderse, frustrarse o aprender cosas por encimita.

  • Menos teoría: puede que no entiendas del todo qué estás haciendo o por qué.

  • Requiere mucha disciplina: sin profesores ni tareas, tú eres tu propio empujón.


💼 ¿Qué buscan las empresas realmente?

En 2025, el panorama laboral ha cambiado. Cada vez más empresas contratan por habilidades, no por títulos. Muchos empleadores valoran más que:

  • Sepas trabajar en equipo

  • Tengas proyectos en GitHub

  • Demuestres lógica y pensamiento crítico

  • Tengas experiencia (aunque sea freelance o personal)

Incluso grandes empresas como Google, Meta, IBM y Tesla han eliminado el requisito obligatorio de tener título universitario.

Sin embargo, en algunas regiones (como América Latina) o ciertos sectores tradicionales, aún hay empresas que piden título por temas burocráticos o de confianza.


📊 Casos reales

  • Mark Zuckerberg (Facebook) y Bill Gates (Microsoft) dejaron Harvard para crear sus empresas.

  • Kevin Mitnick, uno de los hackers más famosos, aprendió todo por su cuenta.

  • Miles de freelancers en plataformas como Upwork, Fiverr o Toptal trabajan sin título, solo con portafolios y habilidades demostrables.

Por otro lado:

  • Muchos desarrolladores con títulos universitarios trabajan en empresas top, ganan buenos sueldos y tienen una carrera estable.

  • Algunos se vuelven profesores, arquitectos de software o líderes técnicos… roles donde la base teórica y académica es clave.


🔍 ¿Entonces qué camino elegir?

📌 Si eres disciplinado, autodidacta y quieres entrar rápido al mundo laboral:

  • Aprende por tu cuenta con cursos, practica mucho y crea un buen portafolio.

  • Consigue tus primeros trabajos como freelance o en startups.

  • Considera hacer un bootcamp o especialización intensiva.

📌 Si quieres una base sólida, acceso a trabajos más estables o planeas emigrar:

  • La universidad sigue siendo una buena opción.

  • Puedes combinar tu carrera con proyectos personales y certificaciones externas para destacarte.


🎯 Conclusión

No hay un camino único. No necesitas un título para ser programador, pero sí necesitas aprender constantemente.
La programación no es una carrera, es un estilo de vida basado en resolver problemas, adaptarse y mejorar cada día.

Entonces, más que preguntarte si necesitas universidad, pregúntate:

  • ¿Estoy dispuesto a aprender de verdad?

  • ¿Voy a comprometerme con mi desarrollo profesional?

  • ¿Qué tipo de desarrollador quiero ser?

Tener un título no garantiza nada, pero tampoco tener solo un curso de Udemy. Lo que realmente importa es lo que sabes hacer y cómo lo aplicas.


jueves, 7 de agosto de 2025

¿Copilot te hará perder tu trabajo como desarrollador?

 ¿La inteligencia artificial reemplazará a los programadores? Analizamos si herramientas como GitHub Copilot son una amenaza o una ayuda para el trabajo de los desarrolladores.


En los últimos años, herramientas como GitHub Copilot y editores como Cursor han demostrado que la inteligencia artificial ya no es ciencia ficción. Estos asistentes son capaces de escribir funciones completas, generar tests automatizados y hasta explicar código. Esto ha generado una pregunta incómoda entre programadores:
¿Copilot me va a quitar el trabajo?

Spoiler: No, pero sí va a cambiarlo. Y mucho.


¿Qué es GitHub Copilot?

Copilot es un asistente de programación basado en inteligencia artificial desarrollado por GitHub y OpenAI. Se integra con editores como VS Code y puede autocompletar líneas de código, sugerir funciones, generar comentarios e incluso resolver problemas de programación en tiempo real.

En otras palabras, es como tener un junior developer trabajando contigo… pero que no duerme.


¿Puede Copilot reemplazar a un programador?

Copilot es bueno en tareas repetitivas y patrones comunes, pero no tiene conciencia del contexto del negocio, no entiende realmente lo que el usuario necesita, y no puede tomar decisiones de arquitectura.

Las decisiones que requieren criterio, experiencia o creatividad siguen siendo humanas.

Sí, Copilot puede ayudarte a escribir una API más rápido, pero no va a decidir qué endpoints necesitas, ni cómo escalar tu sistema, ni qué experiencia quiere el usuario final.


Entonces… ¿en qué afecta mi trabajo?

Mucho. Porque la programación como oficio está cambiando:

  • Ahora se espera que seas más productivo. Si antes escribías 200 líneas al día, ahora con IA podrías hacer el doble.

  • Tareas básicas como crear un CRUD ya no son una ventaja competitiva. Cualquiera puede hacerlo con IA.

  • El verdadero valor está en pensar, diseñar y solucionar problemas reales, no solo en picar código.

La IA no te reemplaza, pero sí reemplaza partes de tu trabajo. Y eso puede ser una amenaza si no te adaptas.


¿Qué puedes hacer para no quedar atrás?

  1. Aprende a usar IA como Copilot a tu favor. Dominarla es una ventaja.

  2. Enfócate en habilidades humanas: arquitectura, comunicación, liderazgo técnico, empatía con el usuario.

  3. Piensa en soluciones, no solo en líneas de código. Eso es lo que no puede hacer la IA.


¿La IA es una amenaza o una oportunidad?

Depende de tu enfoque. Los desarrolladores que ven a la IA como una herramienta (como en su momento fue Git, Stack Overflow o los frameworks) tendrán más poder y productividad.

Los que la ven como un enemigo o ignoran su existencia, probablemente quedarán atrás.


Conclusión

Copilot no te va a quitar el trabajo, pero sí puede quitárselo a quienes solo saben escribir código básico. El futuro del desarrollo será con IA, no sin ella.

Entonces, la pregunta no es si Copilot te va a reemplazar…
La verdadera pregunta es: ¿Estás dispuesto a evolucionar con él o a competir contra él?

¿Por qué usar Cursor? El editor de código con inteligencia artificial que está revolucionando el desarrollo

 

¿Por qué usar Cursor? El editor de código con inteligencia artificial que está revolucionando el desarrollo

Descubre por qué cada vez más programadores están usando Cursor, el editor de código con inteligencia artificial que multiplica tu productividad como desarrollador.

En los últimos años, la inteligencia artificial (IA) ha comenzado a integrarse en nuestras herramientas de desarrollo de software de una forma que antes parecía ciencia ficción. Uno de los avances más impactantes en este campo es Cursor, un editor de código basado en Visual Studio Code, pero potenciado con IA integrada de forma nativa. En este artículo vamos a explicarte qué es Cursor, por qué deberías usarlo, y cómo puede transformar tu flujo de trabajo como desarrollador o desarrolladora.


¿Qué es Cursor?

Cursor es un editor de código que combina la potencia de VS Code con la ayuda continua de modelos de lenguaje como GPT-4, directamente dentro del editor. A diferencia de otras extensiones o herramientas externas, la IA en Cursor está diseñada para integrarse profundamente en tu flujo de trabajo diario.

Este editor fue creado con una visión clara: reducir el tiempo que pasamos buscando, probando y entendiendo código, y aumentar la velocidad con la que podemos escribir soluciones funcionales, mantener proyectos y colaborar.


Características principales de Cursor

1. Asistente de IA en contexto

Cursor no solo completa líneas de código como otras herramientas de autocompletado, sino que entiende el contexto de tu proyecto completo. Puedes hacerle preguntas como:

  • "¿Qué hace esta función?"

  • "¿Cómo puedo optimizar este bloque?"

  • "Escríbeme un test para este componente"

Y la IA responde basándose en tu código real, no en ejemplos genéricos.

2. Edición natural de código

Una de las funciones más poderosas es que puedes modificar tu código escribiendo en lenguaje natural. Por ejemplo, puedes seleccionar un bloque y decir:

"Convierte esto en una función asíncrona y maneja errores con try/catch"

Y lo hará al instante. Esto ahorra muchísimo tiempo, especialmente en tareas repetitivas o refactorizaciones.

3. Navegación asistida

Cursor permite navegar proyectos grandes sin perderse. Puedes pedirle explicaciones de funciones, generar diagramas o mapas de dependencias, e incluso crear documentación técnica automáticamente.

4. Generación de código desde cero

¿Necesitas implementar un endpoint en Express? ¿Un componente en React? ¿Una migración en SQL? Solo dile a Cursor lo que quieres y te genera un borrador funcional que puedes ajustar a tus necesidades.


¿Por qué usar Cursor si ya tienes VS Code?

Esa es una buena pregunta. Y la respuesta está en el nivel de integración de la IA. Mientras que VS Code permite agregar extensiones de GitHub Copilot, ChatGPT o CodeWhisperer, Cursor fue creado desde cero con la IA como núcleo, no como accesorio.

Esto significa que:

  • No necesitas copiar/pegar código en un chatbot externo.

  • La IA tiene acceso completo a tu proyecto y entiende su estructura.

  • Las sugerencias son más precisas, más útiles y personalizadas.

  • El flujo es más rápido y natural.


Beneficios concretos de usar Cursor en tu día a día

Ahorro de tiempo

Muchos desarrolladores reportan que con Cursor logran terminar tareas en la mitad del tiempo, especialmente aquellas que implican buscar en la documentación, escribir código repetitivo o comprender proyectos ajenos.

Mejora en la calidad del código

Con un asistente de IA que sugiere mejores prácticas, detecta errores potenciales y genera pruebas automáticamente, tu código mejora sin esfuerzo adicional.

Aprendizaje continuo

Si estás aprendiendo un nuevo lenguaje o framework, Cursor se convierte en tu mentor. Puedes preguntarle cualquier cosa y te explicará conceptos con ejemplos claros, dentro de tu mismo entorno de desarrollo.

Menos contexto switching

Al no tener que abrir constantemente el navegador, buscar en Stack Overflow, ir a la documentación y volver al editor, te mantienes más concentrado y evitas perder el hilo de lo que estás haciendo.


¿Cursor reemplaza al programador?

No. Cursor no te quita el control. Al contrario, te empodera. Tú decides qué sugerencias aceptar, qué cambios aplicar, y cómo implementar tus ideas. Piensa en Cursor como un copiloto altamente entrenado, no como un reemplazo.

En lugar de escribir todo el código desde cero, te concentras en pensar en la arquitectura, en las decisiones de diseño y en resolver problemas, mientras que Cursor se encarga de tareas más mecánicas.


¿Quién debería usar Cursor?

  • Freelancers que buscan ser más productivos y entregar más rápido.

  • Desarrolladores junior que quieren aprender más rápido y escribir buen código desde el día uno.

  • Equipos de desarrollo que quieren mejorar la colaboración y la comprensión del código entre miembros.

  • Estudiantes que están aprendiendo a programar y necesitan apoyo contextual.


¿Cómo empezar con Cursor?

  1. Ve a la página oficial: https://www.cursor.sh

  2. Descarga el editor para tu sistema operativo.

  3. Inicia sesión con tu cuenta de GitHub o Google.

  4. Abre un proyecto o crea uno nuevo.

  5. Comienza a usar la IA con comandos o escribiendo directamente en lenguaje natural.

Cursor es gratuito para proyectos personales, aunque también ofrece planes pagos con mayores límites y funciones avanzadas.


Conclusión: ¿Vale la pena usar Cursor?

Definitivamente sí. Si eres desarrollador o estás empezando en el mundo de la programación, usar Cursor te puede dar una ventaja enorme. No solo escribes código más rápido, sino que entiendes mejor lo que haces, aprendes constantemente y mantienes una mayor calidad en tus proyectos.

En un mundo donde la inteligencia artificial está cada vez más presente, aprender a trabajar con ella, no contra ella, es una habilidad clave. Y Cursor es, probablemente, la herramienta más avanzada y accesible para comenzar.

viernes, 13 de octubre de 2023

Configurar CodeIgniter 4 con Nginx en mi vps Ubuntu 20

 


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.





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:


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 

martes, 21 de marzo de 2023

Levantar un Servidor VPS en Ubuntu para proyectos de nodejs, express, nuxt y configurar dominios


CONFIGURAR UN VPS PARA NUESTROS PROYECTOS DE NODE JS EN PRODUCCIÓN



En este mini curso aprenderemos a configurar un vps desde cero, instalando todos los programas necesarios.



NodeJs: Este programa compila el lenguaje de javascript en el lado del servidor, está catalogado como uno de los compiladores más óptimos por su motor v8 desarrollado por google. Permite instalar librerías globales, librerías locales y frameworks. Al momento de escribir este informe este programa cuenta con sus versiones 18.x pero ya hemos probado ampliamente esa versión y aún no es estable del todo por lo que instalaremos la versión 16.19.1 
NVM: Este programa es un administrador de versiones de Node Js, actualmente se encuentra en sus versiones 8.x. Nos permitirá cambiar versiones de nodejs de ser necesario.
Nginx: Este programa es un servidor web, proxy, balanceador de carga, cache http. Ayuda en la gestión de dominios y subdominios en el VPS para que estos sean redirigidos a puertos específicos donde se ejecutan las apis o plataformas web. Este programa es el más usado en sitios con más tráfico del mundo tales como google, wordpress, nasa, facebook, netflix, etc. 
PostgresQl: Este programa permite gestionar las bases de datos como servidor y cliente actualmente se encuentra en sus versiones 14.x el cual lo vamos usando ampliamente en producción, de acuerdo a la memoria Ram del vps de 2 gigas estableceremos una capacidad de trabajo de 200 workers. Esta base de datos es una base de datos relacional con muchas librerías y addons, la escogemos por su amplia versatilidad de trabajo ya que se puede trabajar incluso con geo referencias con la librerías PostGis el cual ya la hemos trabajado también ampliamente, Algo que ayuda mucho también es su capacidad de trabajo con campos de tipo Json el cual incluso permite hacer búsquedas dentro de estos campos el cual es posible en bases de datos no relacionales.
CertBot: Es un programa de código abierto que permite trabajar automáticamente con Let’s Encrypt para generar certificados SSL y habilitar el protocolo https para todos los dominios, este programa genera y administra estos certificados de conexión segura actualizandolos cada 3 meses para todos los dominios y/o subdominios administrados por nginx. 
PM2: Es un programa que permite gestionar múltiples procesos de nodejs en el VPS, pm2 puede mantener corriendo varios procesos en nodejs mostrando los recursos que este consume, detectar fallos en el programa guardando los logs, reiniciarse de ser necesario para seguir manteniendo los procesos funcionando. Una característica que nos gusta de pm2 es que nunca esta off apesar de actualizar a una nueva versión el programa o cuando reinicia procesos de nodejs por lo que lo llevamos usando más de 4 años en producción. 

CODIGOS Y LINKS QUE USAREMOS

Creando el vps en Digital Ocean:

Se pueden registrar en digital ocean desde el siguiente enlace:
DigitalOcean Referral Badge

Al hacerlo con mi código https://m.do.co/c/a33f9e5f843a obtendrán un bono de $200 dólares por 2 meses para poder probar todo lo que está en este tutorial en forma gratuita.

Instalando y configurando nginx

sudo apt update
sudo apt install nginx

 Y al ingresar a la ip de tu VPS tendrá que salir un mensaje de nginx

Ahora hay que habilitar los puertos de acceso, incluso es posible que se haya cerrado el puerto 22 del ssh. Así que tener cuidado verificarlo con

sudo ufw status

 Si el mensaje es "Status: Inactive" se puede activar con 

sudo ufw enable

Si el mensaje es "Status: active" debería salir los puertos que están abiertos en este caso debería salir el puerto 22. Si no sale nada Quiere decir que está cerrado y cuando salgas y vuelvas a entrar por ssh no podrás hacerlo.  Lo activaremos un poco más abajo.

 Ahora hay que activar los puertos necesarios que usara nginx este es el de http que es el puerto 8080 y https que es el 443, cuidar que el puerto 22 de tu acceso ssh siga activo.

podemos ver la lista de programas que necesitan estas configuraciones con:

sudo ufw app list

 Como vemos si es nuestro vps recién configurado solo tendremos programas de nginx y OpenSSH, para activar el ssh de nuevo pondremos

sudo ufw allow ssh

al volver a poner "sudo ufw status" podremos ver que ahora ya salen los puertos 22 activos si antes no salían.

 Tendremos que activar los puertos necesarios para nginx con:

sudo ufw allow 'Nginx Full'

 al volver a poner "sudo ufw status" podremos ver que ahora debe salir nginx full activo

Códigos necesarios para manejar PostgresQL desde consola

Acontinuación pongo algunos de los códigos que usamos más frecuentemente al ingresar a nuestro postrgresql

Ingresar a Postgres: 
    
sudo -i -u postgres

Luego poner:

    psql
 

Para crear una base de datos:

    CREATE DATABASE mibase; 

 
\dEnumerar tablas (excepto las tablas del sistema)
\d tableEnumerar columnas de tabla
\dtEnumerar tablas en todos los esquemas (detallados)
\dt tableTabla de lista (detallada)
\dnEnumerar esquemas

\lListar Bases de datos
\c mibaseConexión a una base de datos




Para crear un usuario
create user miusuario with encrypted password 'micontraseña';

 Vincular usuario con base de datos

grant all privileges on database mibasededatos to miusuario;


Para pm2

Está explicado en el video pero deberían visitar la página de documentación el cual es la siguiente: https://pm2.keymetrics.io/

Consideramos que todo lo demás está explicado en el video. Les agradeceré suscribir a nuestro canal y visitarnos por aquí constantemente. Muchos éxitos en sus proyectos

Códigos para configurar dominios con nginx

Configurar dominio a un puerto

Para configurar dominios en nginx y estos sean redirigidos a un puerto en específico se usa el siguiente código

upstream midominio.com {   server 142.98.248.250:4001; }  
server {   
    server_name midominio.com www.midominio.com;   
    access_log /var/log/nginx/midominio.com.access.log;   
    error_log /var/log/nginx/midominio.com.log debug;    
    location / {     
        proxy_set_header X-Real-IP $remote_addr;     
        proxy_set_header X-Forwarder-For $proxy_add_x_forwarded_for;     
        proxy_set_header Host $http_host;     
        proxy_set_header X-NginX-Proxy true;      
        proxy_pass http://midominio.com;     
        proxy_redirect off;   
    } 
}

Configurar dominio a una carpeta con archivos html,css,imágenes,etc.

Para configurar un dominio y que este apunte a una carpeta donde tenemos archivos html se hace de la siguiente forma.
Cabe resaltar que la línea de root son carpetas /var/www/ y recomiendo poner en las carpetas el nombre del dominio de cada proyecto que creen. por eso queda la ruta /var/www/midominio.com

server{
        root /var/www/midominio.com;

        index index.html index.htm;

        server_name midominio.com www.midominio.com;

         location / {
        try_files $uri $uri/ =404;
    }
}

Configurar dominio a una carpeta con php 

Para configurar un dominio y que este apunte a una carpeta donde tenemos archivos php se hace de la siguiente forma. 
Deben instalar php primero y poner la dirección del fpm.sock esto puede ser distinto en cada versión de php

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/ =404;
    }

    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;
}

}