Nginx: PHP y MySQL
Una aplicación con PHP y MYSQL
Introducción
En esta sección vamos a ver el mismo ejemplo de aplicación web utilizando php y mysql que está configurado con docker, solo que, en este caso, vamos a ver cómo se haría la configuración nativa, en el sistema.
El ejemplo en cuestión es el mismo utilizado en la sección contenedores - docker - docker-compose - ejemplo
para levantar un sitio web programado con PHP
, que se conecta a una DB
en MySQL
, utilizando la actividad llamada LoginRegister
realizada en 1º año de Asix. Para ello necesitamos los servicios activos de:
Apache o
Nginx
para levantar el servicio webMySql
para la base de datosPHP
para el lenguaje de programaciónPhpmyadmin
, si me quiero conectar a un gestor de DB, aunque no lo voy a utilizar.
Configurando la aplicación web
En el directorio /var/www/
creamos una carpeta que va a contener nuestros archivos de la aplicación web. Yo le he llamado simplemente example.com
:

Como podréis observar el dueño de la carpeta se llama www-data y no root, es es porque tenemos que modificar los archivos del directorio:
chown -R www-data:www-data /var/www/example.com
Volcamos el contenido dentro del directorio obteniendo lo siguiente:

Tendrás que tener en cuenta que en el archivo conexion.php
debes modificar los parámetros de conexión a la base de datos, como mínimo el password:

Configurando Nginx
Vamos ahora a la configuración de Nginx. Para ello nos vamos al directorio /etc/nginx/sites-available/
creamos (podemos copiar y pegar del archivo default
) un archivo con el nombre de nuestro sitio web. En este caso, example.com.conf
:
server {
listen 80;
## define root path
root /var/www/example.com;
error_log /var/log/nginx/error-example.log;
access_log /var/log/nginx/access-example.log;
index index.php index.html;
## define location php
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
}
Recuerda que tenemos que crear un enlace directo en /etc/nginx/sites-enable/example.com.conf
$ sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
Ahora solo nos queda comprobar que no hayamos cometido un error con la configuración y actualizar el servicio de Nginx:
sudo nginx -t
sudo nginx -s reload
Para poder acceder a nuestro sitio web con el nombre de dominio que le hemos asignado tenemos que modificar el archivo /etc/hosts:

Finalmente, nos vamos al navegador y accedemos a nuestro sitio:

Last updated
Was this helpful?