2017-09-12 6 views
1

J'ai un fichier wsgi.ini dans mon projet, et j'utilise uwsgi wsgi.ini pour exécuter mon projet. Mais quand je change le code django, je veux redémarrer le projet à la place tuer uwsgi puis le recharger. Le document officiel d'uwsgi fournit les méthodes suivantes: # using kill to send the signal kill -HUP `cat /tmp/project-master.pid` # or the convenience option --reload uwsgi --reload /tmp/project-master.pid # or if uwsgi was started with touch-reload=/tmp/somefile touch /tmp/somefile Mais je n'ai pas de fichier project-master.pid dans le catalogue /tmp dans mon système (centOS).comment utiliser uwsgi restart django

ma question:

  1. comment utiliser uwsgi redémarrer django au lieu de le tuer alors il commence?
  2. si uwsgi document officiel fourni méthode méthode, comment créer un fichier .pid et quel contenu devrait dans ce fichier?
+0

Vous devez montrer comment vous démarrez uWSGI en premier lieu. –

+0

fichier wsgi.ini est dans mon projet, et je commence django utiliser cette commande: uwsgi wsgi.ini – cherry

+0

c'est mon fichier 'uwsgi.ini': [uwsgi] socket = 127.0.0.1:8833 chdir =/home/WangCai/server/international_lottery module = international_lottery.wsgi maître = true processus = 4 vide = True-taille de mémoire tampon = 32768 daemonize = /home/wangcai/log/uwsgi.log – cherry

Répondre

1

Je trouve l'anwser. project-master.pid est défini dans le fichier wsgi.ini, vous devez d'abord définir pidfile=/tmp/project-master.pid. Ensuite, utilisez uwsgi pour démarrer le serveur: uwsgi wsgi.ini .Après l'avoir démarré, vous pouvez voir un fichier project-master.pid dans le catalogue /tmp. Lorsque vous voulez recharger le serveur uwsgi, vous pouvez utiliser cette commande pour redémarrer le serveur: uwsgi --reload /tmp/project-master.pid.

0

Vous n'avez pas besoin d'utiliser le serveur uWSGI pour vos besoins de développement local. Apache/uWSGI sont destinés à la production, et les faire redémarrer implicitement à chaque changement de code n'est pas souvent souhaitable. En fait, le serveur de production ne redémarre pas même après que le code a été modifié, il agit souvent comme un filet de sécurité, de sorte que vous ne finissez pas de redémarrer le serveur sans finaliser le déploiement. Il suffit d'utiliser le serveur inbuild fourni par django.

python manage.py runserver 8000 
+0

en fait, j'utilise uwsgi dans un environnement de production, si je tue le serveur et que je le démarre, cela peut affecter certains utilisateurs. Donc, je veux une méthode pour redémarrer le serveur et n'affecte pas les utilisateurs. – cherry

+0

@Cherry redémarre avec élégance de sorte que les demandes en cours soient traitées en premier. – hspandher

+0

oui, je veux cet effet. – cherry