Creación de unidad uWSGI

Vamos a empezar comentando distintas opciones que configuraremos en la creación de la unidad, si queremos, podemos ver una información detallada en ésta entrada de digital ocean.

[Unit] es usada principalmente para definir los metadatos y configurar la relación con las demás unidades del sistema.

  • Description= : Definición de la unidad.
  • After= : Después de que servicio se va a levantar la unidad, teniendo en cuenta de que servicios depende de nuestra unidad, para no lanzarse antes que ellos.

En [Service] tendremos la configuración a aplicar a nuestro servicio.

  • ExecStart= : Ruta completa al comando y sus argumentos para ser correctamente ejecutado
  • Restart= : Indica las circunstancias en la que systemd reiniciará el servicio automáticamente.
  • KillSignal= : Tipo de señal de apagado que recibirá
  • Type= : Cómo va a informar de los acontecimientos que sufra el servicio.
  • StandarError= : Especifica por dónde saldrán los errores.
  • NotifyAccess= : Debido a que tendremos Type=Notify, especifica el acceso al socket que se debe usar para escuchar las notificaciones
  • RuntimeDirectory= : El espacio de ejecución del servicio.

Y en [Install] se define el comportamiento de la unidad si está o no habilitada.

  • WantedBy= : Define en que fase del arranque se lanzará.

Con todo esto creamos nuestra unidad en /etc/systemd/system/

 

[Unit]
Description= uwsgi
After=syslog.target

[Service]
ExecStart=/usr/bin/uwsgi --ini /etc/uwsgi/emperor.ini
Restart=on-failure
KillSignal=SIGQUIT
Type=notify
StandardError=syslog
NotifyAccess=all
RuntimeDirectory=uwsgi

[Install]
WantedBy=multi-user.target

Creamos el directorio del Runtime y le damos el propietario y permisos necesarios.

mkdir -p /run/uwsgi
chown -R www-data.www-data/run/uwsgi
chmod 755 /run/uwsgi

Ya entrando en la configuración necesaria del servicio uWSGI, necesitaremos el emperor en la URL que hemos definido en el servicio con la siguiente configuración.

[uwsgi]
emperor = /etc/uwsgi/vassals
uid = www-data
gid = www-data

Y creamos el directorio vassals que definimos en el emperor.

mkdir -p /etc/uwsgi/vassals

Que es dónde van a estar los enlaces simbólicos de donde uWSGI va coger los ficheros que van a estar en producción.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s