【发布时间】:2021-12-28 16:15:11
【问题描述】:
我正在做一个电子商务项目,它运行良好,直到我删除了旧的 web-backend 文件夹并上传了一个新文件夹(我知道这不正确,我的 Github 目录有问题,该文件夹和犯了很多错误,所以我不得不清理整个东西。)对于那个项目,我使用了 Django Rest Framework 和 Vue.js。我正在使用主管来管理 gunicorn 并在后台运行它。我正在使用与另一个项目完全相同的设置,该项目构建时运行良好,但在我尝试测试 ./gunicorn_start bash 脚本时出现错误。
错误表明第 14 行源 ../venv/bin/activate 未找到。这很奇怪,因为我使用的是相同的配置、结构、nginx 设置,一切都与我的其他工作项目相同。
这与权限有关吗?如果不是,可能有什么问题?我无法理解,因为我的另一个具有相同功能的项目运行良好。希望您能提供帮助。谢谢!
这是我的 gunicorn_start 脚本:
#!/bin/sh
NAME='ecologic'
DJANGODIR=/webapps/ecologic/web-backend
SOCKFILE=/webapps/ecologic/venv/run/gunicorn.sock
USER=ecologic
GROUP=webapps
NUM_WORKERS=3
DJANGO_SETTINGS_MODULE=core.settings
DJANGO_WSGI_MODULE=core.wsgi
TIMEOUT=120
cd $DJANGODIR
source ../venv/bin/activate
export DJANGO_SETTINGS_MODULE=$DJANGO_SETTINGS_MODULE
export PYTHONPATH=$DJANGODIR:$PYTHONPATH
RUNDIR=$(dirname $SOCKFILE)
test -d $RUNDIR || mkdir -p $RUNDIR
exec ../venv/bin/gunicorn ${DJANGO_WSGI_MODULE}:application \
--name $NAME \
--workers $NUM_WORKERS \
--timeout $TIMEOUT \
--user=$USER --group=$GROUP \
--bind=unix:$SOCKFILE \
--log-level=debug \
--log-file=-
./gunicorn_start
./gunicorn_start: 14: source: not found
[2021-12-28 11:10:14 -0500] [730777] [DEBUG] Current configuration:
config: ./gunicorn.conf.py
wsgi_app: None
bind: ['unix:/webapps/ecologic/venv/run/gunicorn.sock']
[2021-12-28 11:10:14 -0500] [730777] [WARNING] Worker with pid 730781 was terminated due to signal 15
[2021-12-28 11:10:14 -0500] [730777] [WARNING] Worker with pid 730782 was terminated due to signal 15
[2021-12-28 11:10:14 -0500] [730777] [INFO] Shutting down: Master
[2021-12-28 11:10:14 -0500] [730777] [INFO] Reason: Worker failed to boot.
【问题讨论】:
-
source是 bashism,但你的 shebang 是#!/bin/sh-- 试试#!/usr/bin/env bash或使用更便携的. file/to/source
标签: python vue.js nginx django-rest-framework gunicorn