Frappe Framework
Mise en production
Supervisor maintient les processus, nginx sert les fichiers et proxyfie le reste. Une commande regroupe la préparation, ou on la fait à la main.
Recommandation
Attention
La source déconseille l’installation sur un serveur nu. La voie indiquée pour la production est une image Docker. Les instructions sont sur le dépôt frappe/frappe, section installation.
On peut quand même préparer le bench avec Supervisor et nginx. Pour revenir d’une installation de production à une installation de développement, la source renvoie au wiki bench « Stopping Production and starting Development ».
sudo bench setup production automatise les étapes ci-dessous.
Supervisor
Supervisor relance les processus Frappe s’ils s’arrêtent. bench setup supervisor écrit config/supervisor.conf. On le relie au dossier de configuration, puis on recharge Supervisor.
bench setup supervisor
sudo ln -s `pwd`/config/supervisor.conf /etc/supervisor/conf.d/frappe-bench.conf--skip-redis n’écrit pas la configuration de démarrage de Redis. Sur CentOS 7, l’extension du lien est .ini : frappe-bench.ini.
Lors d’une mise à jour des applications, le bench doit redémarrer les processus. Pour l’automatiser : sudo bench setup sudoers $(whoami).
Nginx
Nginx sert les fichiers statiques et transmet le reste à Frappe. bench setup nginx écrit config/nginx.conf.
bench setup nginx
sudo ln -s `pwd`/config/nginx.conf /etc/nginx/conf.d/frappe-bench.confAu redémarrage, nginx peut échouer s’il existe déjà un bloc server par défaut sur le port 80, souvent la page d’accueil nginx. Il faut désactiver cette configuration. Emplacements cités : /etc/nginx/conf.d/default.conf, /etc/nginx/conf.d/default, et sur les installations récentes /etc/nginx/sites-available/default.
Le multi-site et HTTPS se règlent ensuite : Configurer le multi-tenant, Configurer HTTPS. Les processus sont décrits dans Services en arrière-plan.
