# En Alpine linux

Algunos apuntes a la hora de configurar Nginx en Alpine linux.&#x20;

Para instalar nginx bastaría:

```
apk add nginx
```

Se instala igualmente en: **/etc/nginx/** y los archivos de configuración a tener en cuenta sería: **nginx.conf** y **http.d/default.conf**:

<figure><img src="https://2817582392-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvGN1WZpuVtUpSb3xgLvp%2Fuploads%2FHR4u6qbYv0slprBzxo0I%2Fimage.png?alt=media&#x26;token=0f81043d-2d4a-4332-98c9-e01768427698" alt="" width="563"><figcaption><p>Archivos de configuración de /etc/nginx</p></figcaption></figure>

Muchos sitios hacen referencia a **/usr/share/nginx/** para alojar el sitio web pero podemos hacer uso del directorio habitual: **/var/www/**. &#x20;

<figure><img src="https://2817582392-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvGN1WZpuVtUpSb3xgLvp%2Fuploads%2FGY1KlZyKq7DP3L6vfIeX%2Fimage.png?alt=media&#x26;token=97580a44-5762-4060-bbd1-293aa18b7eb2" alt=""><figcaption><p>La web estática</p></figcaption></figure>

Más que configurar nginx para brindar páginas estáticas, lo suyo es brindar páginas dinámicas con PHP. Para ello necesitamos instalar tanto **php** como **php-fpm** que, usado conjuntamente con un servidor web como Apache o Nginx, se encarga de servir el contenido dinámico, mientras el servidor web (Apache o Nginx) se encarga de servir el contenido estático.

Algunos detalles a considerar:

* Nos aseguramos de tener activo el repositorio **community**. Podemos hacer también un **update** de los paquetes.

<figure><img src="https://2817582392-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvGN1WZpuVtUpSb3xgLvp%2Fuploads%2FHdyjoQRi8furi3v27qIp%2Fimage.png?alt=media&#x26;token=12660b81-0c7a-4f3e-8afa-b5b7c10e72f9" alt=""><figcaption><p>/etc/apk/repositories</p></figcaption></figure>

* Instalamos PHP y PHP-FPM:

```
sudo apk add php8.3 php8.3-fpm
```

* Debemos tener en cuenta las directivas de configuración de php:

<figure><img src="https://2817582392-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvGN1WZpuVtUpSb3xgLvp%2Fuploads%2FwgkqRKEzenZbUH8oMPg0%2Fimage.png?alt=media&#x26;token=6d2f87d4-2d1a-4283-97da-6c07d6549e74" alt="" width="335"><figcaption><p>Directivas de configuración de php</p></figcaption></figure>

Podemos ver conocer el valor de la directiva **listen** ejecutando el comando:

```plaintext
cat /etc/php83/php-fpm.d/www.conf | grep 'listen = '
listen = 127.0.0.1:9000
```

Una vez tenemos instalado php-fpm comprobamos que esté activo:

```
rc-service php-fpm83 status

en caso de estar detenido, lo activamos:

rc-service php-fpm8 start
```

Podemos verificar que los cambios en php-fpm se realizan de manera correcta haciendo:

```
sudo php-fpm83 -t
```

<figure><img src="https://2817582392-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvGN1WZpuVtUpSb3xgLvp%2Fuploads%2FvOaIdFfhhQkhp4tekqv5%2Fimage.png?alt=media&#x26;token=1a47ec17-8487-4792-97ec-f29e5a3b4de3" alt=""><figcaption><p>Salida del comando php-fpm83 -t </p></figcaption></figure>

Y refrescamos la configuración con:

```
sudo rc-service php-fpm83 reload
```

### Configurando una página web con php

Para configurar una página web de prueba podemos hacer lo siguiente:

```
echo "<?php phpinfo(); ?>" > /var/www/lore/index.php
```

Veamos ahora la configuración de **/etc/nginx/http.d/default**. Como tenía en uso el puerto 80 habilité el 84 para Nginx. Siempre me gusta habilitar los logs, así que eso es lo que hice. Por otra parte,  PHP-FPM esperará las conexiones en el puerto **9000** de localhost. **Nginx** envía las solicitudes PHP a PHP-FPM a través del protocolo **FastCGI**.

<figure><img src="https://2817582392-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvGN1WZpuVtUpSb3xgLvp%2Fuploads%2FGDIcPC7ckJL0HPRk7Eks%2Fimage.png?alt=media&#x26;token=87fcd551-f5ac-4a38-9a30-d046afbf8158" alt=""><figcaption><p>Archivo de configuración /etc/nginx/http.d/default.conf</p></figcaption></figure>

Desde el navegador podemos ver la página web, escribiendo: <http://192.168.1.80:84>&#x20;

<figure><img src="https://2817582392-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvGN1WZpuVtUpSb3xgLvp%2Fuploads%2F5xvSShIwM6U7kYYtKrMY%2Fimage.png?alt=media&#x26;token=b2e9d4e2-cbef-4be2-968e-6b63164b389b" alt=""><figcaption></figcaption></figure>
