comment tuer uWSGI processus
Donc, j'ai finalement réussi à nginx + uWSGI exécuté avec succès pour mon Django installer
cependant, le problème que j'ai maintenant, c'est quand je modifie le code que j'ai besoin de redémarrer le uWSGI processus pour afficher mes changements
Je me sens comme je suis en cours d'exécution le bon de commande ici (je suis très nouveau à linux d'ailleurs):
uwsgi --stop /var/run/uwsgi.pid
uwsgi --reload /var/run/uwsgi.pid
Je n'obtiens pas d'erreur lorsque j'essaie d'exécuter ces commandes, cependant mon ancien code est toujours ce que les charges
Je sais aussi que ce n'est pas un enjeu de codage parce que j'ai couru mon django app dans son serveur de développement et tout fonctionnait bien
OriginalL'auteur tareq | 2013-07-10
Vous devez vous connecter pour publier un commentaire.
De la manière recommandée de signal de rechargement de données de l'application est d'utiliser le
--touch-reload
option. Exemple de syntaxe sur un .ini de l'amende est de:Où
myapp
est votre nom d'application./var/run/uwsgi/app
est l'endroit recommandé pour de tels fichiers (pourrait être n'importe où). Lereload
fichier est un fichier vide dont le timestamp est regardé par uwsgi, chaque fois qu'il change (par exemple, à l'aide detouch
) uWSGI détecte ce changement et redémarre le correspondant uWSGI instance de l'application.Donc, chaque fois que vous mettez à jour votre code vous devez toucher le fichier pour mettre à jour la version en mémoire de l'application. Par exemple, sur le coup:
Note
--reload
est une option non documentée sur l'actuel uWSGI version.oui, cette ligne doit être ajoutée à la uWSGI .fichier ini correspondant à votre application. Si vous utilisez XML, YAML, JSON, vous aurez besoin d'utiliser la syntaxe correcte au lieu de .ini
<var>=<value>
standard. J'utilise à la place letouch-reload
fichier sous/var/run/uwsgi/app/<app name>
mais vous pouvez le placer n'importe où commode pour vous, comme votre répertoire home.Qu'est-ce que le tactile de recharger le fichier de référence de maintenant??? De plein droit maintenant, je pense dans mon fichier ini
touch-reload /path/to/my/ini/file
cependant cela ne fait pas de sens, je suppose que j'ai besoin de créer un touch-recharger le fichier? que dois-je placer dans ce dossier?il y a une commande unix nommé
touch
qui "touche" la date et l'heure du fichier. si vous exécuteztouch /path/to/your/touch/reload/file
uWSGI permet de détecter les nouveaux horodatage et de recharger votre .fichier ini. Contact d'un fichier est la façon de communiquer à uWSGI que vous voulez que votre .les fichiers ini pour recharger (le long de votre nouvelle source de fichiers).Presque deux ans plus tard, j'ai réussi à comprendre @tareq question. De ma faute! Le tactile de recharger le fichier est l'arbitraire d'un fichier vide et il peut être n'importe où, un bon endroit pour cela est dans /var/run-arbre, comme l'a suggéré /var/run/uwsgi/<nom>/recharger. Lorsque nous touche plus de son horodatage des changements de datetime, uwsgi détecte ce changement et recharge le correspondant uwsgi instance de l'application.
OriginalL'auteur flaviodesousa