Skip to content

Commit dc1d1ba

Browse files
committed
Agrega documentación para entornos productivos.
1 parent a9d8d3e commit dc1d1ba

File tree

4 files changed

+78
-16
lines changed

4 files changed

+78
-16
lines changed

config/georef-ar-api.nginx

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
server {
2+
listen 80 default_server;
3+
listen [::]:80 default_server;
4+
5+
# Descomentar las siguientes dos líneas para activar el uso de
6+
# cache de nginx. El archivo de configuración nginx.conf DEBE
7+
# contener la directiva 'proxy_cache_path' activada con keys_zone=georef
8+
9+
# proxy_cache georef;
10+
# proxy_cache_valid 200 120m;
11+
12+
location / {
13+
proxy_pass http://localhost:5000;
14+
}
15+
}

docs/src/deploy.md

+61
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
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+
```

docs/src/georef-api-development.md

+1-16
Original file line numberDiff line numberDiff line change
@@ -159,22 +159,7 @@ Para comprobar que la API esté funcionando:
159159
$ curl localhost:5000/api/provincias
160160
```
161161

162-
#### Entornos productivos
163-
##### 5.1 Configurar servicio `georef-ar-api` para `systemd`
164-
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.
165-
166-
##### 5.2 Activar y arrancar el servicio
167-
```bash
168-
$ sudo systemctl daemon-reload
169-
$ sudo systemctl enable georef-ar-api
170-
$ sudo systemctl start georef-ar-api
171-
```
172-
173-
Luego, comprobar que la API esté funcionando:
174-
```bash
175-
$ curl localhost:5000/api/provincias
176-
```
177-
162+
Si se desea preparar la API para uso en entornos productivos, consultar la guía de instalación para [entornos productivos](deploy.md).
178163

179164
## Tests
180165
Para ejecutar los tests unitarios (el servicio Elasticsearch debe estar activo y con los datos apropiados cargados):

mkdocs.yml

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ nav:
2727
- Aplicaciones: applications.md
2828
- Desarrolladores:
2929
- Instalación y Ejecución: georef-api-development.md
30+
- Entornos productivos: deploy.md
3031
- Historial de versiones: history.md
3132
- Instalación de Python 3.6: python3.6.md
3233
- ETL:

0 commit comments

Comments
 (0)