|
| 1 | +# Entornos productivos |
| 2 | + |
| 3 | +Para instalar la API de Georef en un entorno productivo, es necesario completar todos los pasos detallados en la [guía de instalación y ejecución](georef-api-development.md). Luego, seguir los siguientes pasos adicionales: |
| 4 | + |
| 5 | +## 1. Configurar servicio para systemd |
| 6 | +Copiar el archivo [`config/georef-ar-api.service`](https://github.com/datosgobar/georef-ar-api/blob/master/config/georef-ar-api.service) a `/etc/systemd/system/` y configurarlo. **Notar los campos marcados entre '`<`' y '`>`'**, que deben ser reemplazados por los valores apropiados. |
| 7 | + |
| 8 | +Luego, activar y arrancar el nuevo servicio: |
| 9 | +```bash |
| 10 | +$ sudo systemctl daemon-reload |
| 11 | +$ sudo systemctl enable georef-ar-api |
| 12 | +$ sudo systemctl start georef-ar-api |
| 13 | +``` |
| 14 | + |
| 15 | +Una vez ejecutados los comandos, comprobar que la API esté funcionando: |
| 16 | +```bash |
| 17 | +$ curl localhost:5000/api/provincias |
| 18 | +``` |
| 19 | + |
| 20 | +El servicio instalado asegura que la API sea ejecutada al reinicar el sistema operativo, y se encarga de automáticamente almacenar todos los *logs* generados por la API. Los mismos pueden ser consultados utilizando: |
| 21 | +```bash |
| 22 | +$ sudo journalctl -u georef-ar-api |
| 23 | +``` |
| 24 | + |
| 25 | +Ver `man journalctl` para más detalles de uso. |
| 26 | + |
| 27 | +## 2. Configurar Nginx |
| 28 | +Resulta conveniente configurar un servidor Nginx que actúe como receptor de todas las consultas destinadas al servidor de la API. El servidor Nginx permite controlar tamaños máximos de consultas y respuestas, establecer *caches*, y muchas más utilidades. Asumiendo que se instaló Nginx utilizando el administrador de paquetes (`apt`), seguir los siguientes pasos: |
| 29 | + |
| 30 | +### 2.1 Crear archivo de configuración |
| 31 | +Primero, crear `/etc/nginx/sites-available/georef-ar-api.nginx` tomando como base la configuración del archivo [`georef-ar-api.nginx`](https://github.com/datosgobar/georef-ar-api/blob/master/config/georef-ar-api.nginx). |
| 32 | + |
| 33 | +### 2.2 (Opcional) Configurar *cache* |
| 34 | +Si se desea activar el uso del *cache* de Nginx, descomentar las líneas contentiendo las directivas `proxy_cache` y `proxy_cache_valid` del archivo `georef-ar-api.nginx` creado. Luego, activar el *cache* `georef` agregando la siguiente línea al archivo de configuración `nginx.conf` (sección `http`): |
| 35 | + |
| 36 | +```nginx |
| 37 | +proxy_cache_path /data/nginx/cache levels=1:2 inactive=120m keys_zone=georef:10m use_temp_path=off; |
| 38 | +``` |
| 39 | + |
| 40 | +Finalmente, crear el directorio `/data/nginx/cache`. |
| 41 | + |
| 42 | +### 2.3 Activar y validar la configuración |
| 43 | +Generar un link simbólico a la configuración de Georef: |
| 44 | +```bash |
| 45 | +$ sudo ln -s /etc/nginx/sites-available/georef-ar-api.nginx /etc/nginx/sites-enabled/georef-ar-api.nginx |
| 46 | +``` |
| 47 | + |
| 48 | +Validar la configuración: |
| 49 | +```bash |
| 50 | +$ sudo nginx -T |
| 51 | +``` |
| 52 | + |
| 53 | +Finalmente, reiniciar Nginx: |
| 54 | +```bash |
| 55 | +$ sudo systemctl restart nginx.service |
| 56 | +``` |
| 57 | + |
| 58 | +Una vez ejecutados los comandos, comprobar nuevamente que la API esté funcionando, en el puerto 80 estándar: |
| 59 | +```bash |
| 60 | +$ curl localhost/api/provincias |
| 61 | +``` |
0 commit comments