Instalamos Nginx y PHP desde el terminal:
sudo apt update
sudo apt install -y nginx php-fpm
Si ahora vamos al navegador y ponemos la IP de la máquina donde lo habeis instalado, yo pongo la de mi maquina o podemos poner localhost si está instalado en local, tiene que salir lo siguiente:
Bien, una vez instalado hay que configurar nginx para que pueda ejecutar PHP y para esto tenemos que poner las siguientes líneas:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}
location ~ /\.ht {
deny all;
}
al final del fichero de configuración del hosts en nginx. En /etc/nginx/sites-available/default. y el fichero completo podría quedar así:
# Default server configuration
#
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Y reiniciamos nginx
sudo /etc/init.d/nginx restart
Para comprobar que todo funciona correctamente creamos un fichero dentro del directorio raíz de nginx en /var/www/html/ y lo llamamos info.php:sudo vim /var/www/html/info.php
y el ponemos lo siguiente dentro:
<?php
phpinfo();
Ahora al probar la nueva URL http://localhost/info.php o la IP que utilicéis debería salir los siguiente:
A partir de aquí ya se pueden crear webs dinámicos con nginx y php
Solo un pequeño comentario sobre la configuración de PHP, he utilizado Ubuntu 20.04 y configurado php7.4 si usáis otras configuraciones como por ejemplo php8 deberéis cambiar esta línea del fichero de configuración de nginx, fastcgi_pass unix:/run/php/php7.4-fpm.sock; en lugar de 7.4 tendrá que ser 8 o la que ponga en este directorio (/run/php/)
Y esto es todo, feliz programming
Saludos
Alex
También puede interesarte:
Configurar Laravel Sail para utilizar un MySql externo existente |
||