ne pouvait pas exécuter gunicorn_start EACCES

#!/bin/bash NAME="trueguild" # Name of the applica$ DJANGODIR=/webapps/trueguild_django/trueguild # Django project dire$ SOCKFILE=/webapps/trueguild_django/run/gunicorn.sock # we will communicte $ USER=trueguild # the user to run as GROUP=webapps # the group to run as NUM_WORKERS=3 # how many worker pro$ DJANGO_SETTINGS_MODULE=trueguild.settings # which settings file$ DJANGO_WSGI_MODULE=trueguild.wsgi # WSGI module name echo "Starting $NAME as $NAME" # Activate the virtual environment cd $DJANGODIR source ../bin/activate export DJANGO_SETTINGS_MODULE=$DJANGO_SETTINGS_MODULE export PYTHONPATH=$DJANGODIR:$PYTHONPATH # Create the run directory if it doesn't exist RUNDIR=$(dirname $SOCKFILE) test -d $RUNDIR || mkdir -p $RUNDIR # Start your Django Unicorn # Programs meant to be run under supervisor should not daemonize themselves (do$ exec ../bin/gunicorn ${DJANGO_WSGI_MODULE}:application \ --name $NAME \ --workers $NUM_WORKERS \ --user=$USER --group=$GROUP \ --bind=unix:$SOCKFILE \ --log-level=debug \ --log-file=- 

J’ai le fichier gunicorn_start ci-dessus. Mais quand je commence à utiliser supervisorctl, il jette cette erreur

 supervisor: couldn't exec /webapps/trueguild_django/bin/gunicorn_start: EACCES supervisor: child process was not spawned 

J’utilise le django avec nginx et gunicorn.

Comment puis-je démarrer le serveur en utilisant supervisor?

voici le fichier supervisor.d conf

 ; supervisor config file [unix_http_server] file=/var/run/supervisor.sock ; (the path to the socket file) chmod=0700 ; sockef file mode (default 0700) [supervisord] logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log) pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid) childlogdir=/var/log/supervisor ; ('AUTO' child log dir, default $TEMP) ; the below section must remain in the config file for RPC ; (supervisorctl/web interface) to work, additional interfaces may be ; added by defining them in separate rpcinterface: sections [rpcinterface:supervisor] supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface [supervisorctl] serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL for a unix socket ; The [include] section can just contain the "files" setting. This ; setting can list multiple files (separated by whitespace or ; newlines). It can also contain wildcards. The filenames are ; interpreted as relative to this file. Included files *cannot* ; include files themselves. [include] files = /etc/supervisor/conf.d/*.conf 

et voici le fichier trueguild.conf dans le répertoire conf.d

 [program:trueguild] command = /webapps/trueguild_django/bin/gunicorn_start ; Command to start app user = trueguild ; User to run as stdout_logfile = /webapps/trueguild_django/logs/gunicorn_supervisor.log ; Where to write log messages redirect_stderr = true ; Save stderr in the same log environment=LANG=en_US.UTF-8,LC_ALL=en_US.UTF-8 ; Set UTF-8 as default encoding 

Dans le fichier trueguild.conf

append sh après commande …

ce sera comme

 command =sh /webapps/trueguild_django/bin/gunicorn_start 

Ça va marcher.

S’il vous plaît assurez-vous que vous avez la permission d’exécuter la commande trueguild sous trueguild