- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Docker、Django、gunicorn、postgres 和 nginx 构建环境。在此环境中,Dockerfile
和 docker-compose
位于 src
文件夹之上一级
我的文件夹结构思路如下:
"NN Project" folder within my "Documents/repositories"
└── / config (to place nginx settings within)
└── / deployment (to place environment "secrets" within)
└── / src (folder containing Django project)
└── / config (Django project name)
├── wsgi.py
├── settings.py
├── Dockerfile
├── docker-compose
├── license, readme ...
├── build_script.sh
我想将 Dockerfile
和 docker-compose
放在顶层而不是子文件夹 /src
下的原因是因为我希望在使用 Django
及其相关导入
env
“ secret ”
NON_VERSION_PATH = Path(__file__).resolve().parent.parent.parent
with open(NON_VERSION_PATH / 'deployment/etc/application/.env_vars', 'r') as f:
secrets = json.loads(f.read())
我遇到的问题是无法启动 web
(“src”容器)(找不到它)。但是,如果我将 Dockerfile
和 docker-compose
放在 /src
文件夹中,它工作正常但我想要 docker -compose
上一级。我知道这是关于相对导入的,但是,我不知道如何告诉它查看 ./code
docker-compose
version: "3.9"
services:
db:
container_name: db
image: postgres:alpine
restart: always
volumes:
- postgres_data:/var/lib/postgresql/data/
environment:
- POSTGRES_DB=postgres
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
web:
container_name: src
build: .
# command: python /code/src/manage.py runserver 0.0.0.0:8000 # works as intended !
command: gunicorn config.setting.wsgi:application --bind 0.0.0.0:8000 --chdir ./src/
volumes:
- .:/code
ports:
- 8000:8000
depends_on:
- db
environment:
- "DJANGO_SECRET_KEY= *** "
- "DJANGO_DEBUG=True"
volumes:
postgres_data:
Dockerfile
FROM python:3.8.5
# Set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
WORKDIR /code
COPY /src/requirements/requirements.txt /code/
RUN pip install -r requirements.txt
COPY . /code
错误
当我的 docker-compose
使用:
command: gunicorn config.setting.wsgi:application --bind 0.0.0.0:8000 --chdir ./src/
它会产生以下错误:
Successfully built 8473888f804
Successfully tagged web:latest
Creating src ... done
Attaching to src
src | [2021-03-09 15:10:44 +0000] [1] [INFO] Starting gunicorn 20.0.4
src | [2021-03-09 15:10:44 +0000] [1] [INFO] Listening at: http://0.0.0.0:8000 (1)
src | [2021-03-09 15:10:44 +0000] [1] [INFO] Using worker: sync
src | [2021-03-09 15:10:44 +0000] [8] [INFO] Booting worker with pid: 8
src | [2021-03-09 15:10:44 +0000] [8] [ERROR] Exception in worker process
src | Traceback (most recent call last):
src | File "/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker
src | worker.init_process()
src | File "/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py", line 119, in init_process
src | self.load_wsgi()
src | File "/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py", line 144, in load_wsgi
src | self.wsgi = self.app.wsgi()
src | File "/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py", line 67, in wsgi
src | self.callable = self.load()
src | File "/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 49, in load
src | return self.load_wsgiapp()
src | File "/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 39, in load_wsgiapp
src | return util.import_app(self.app_uri)
src | File "/usr/local/lib/python3.8/site-packages/gunicorn/util.py", line 358, in import_app
src | mod = importlib.import_module(module)
src | File "/usr/local/lib/python3.8/importlib/__init__.py", line 127, in import_module
src | return _bootstrap._gcd_import(name[level:], package, level)
src | File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
src | File "<frozen importlib._bootstrap>", line 991, in _find_and_load
src | File "<frozen importlib._bootstrap>", line 961, in _find_and_load_unlocked
src | File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
src | File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
src | File "<frozen importlib._bootstrap>", line 991, in _find_and_load
src | File "<frozen importlib._bootstrap>", line 973, in _find_and_load_unlocked
src | ModuleNotFoundError: No module named 'config.setting'
src | [2021-03-09 15:10:44 +0000] [8] [INFO] Worker exiting (pid: 8)
src | [2021-03-09 15:10:44 +0000] [1] [INFO] Shutting down: Master
src | [2021-03-09 15:10:44 +0000] [1] [INFO] Reason: Worker failed to boot.
问:如何让项目启动gunicorn
?
解决方案:除了公认的解决方案,这个 SO post也成功了。
command: gunicorn -w 2 -b 0.0.0.0:8000 --chdir ./src/ config.wsgi:application --reload --timeout 900
最佳答案
使用 --chdir 标志。例如,gunicorn config.wsgi:application --bind 0.0.0.0:8000 --chdir/path/to/project/root/
关于python - 当 docker-compose 不在同一文件夹中时启动 gunicorn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66548363/
我尝试了几乎所有命令来杀死 gunicorn 服务器。但没有任何效果。我怎样才能杀死这些进程并释放 80 端口 12652 ? Ss 0:00 sudo gunicorn -b
我正在使用 Apache Airflow,发现 gunicorn-error.log 的大小在 5 个月内增长了超过 50 GB。大多数日志消息都是 INFO 级别的日志,例如: [2018-05-1
我正在使用 在 Digital Ocean 上运行 django gunicorn 和 nginx . Gunicorn 用于为静态文件提供 django 和 nginx。 通过网站上传文件后,我无法
我正在使用 Django 1.8,我想用 gunicorn 运行我的应用程序。 我可以从命令行绑定(bind)到我的 IP 运行它: gunicorn myapp.wsgi:application -
我们正在使用 https://github.com/tiangolo/uvicorn-gunicorn-fastapi-docker FastAPI 并且能够使用 gunicorn 日志文件自定义我们
我在 docker 上的 centos7 上运行 Airflow 1.8,但我的网络服务器无法访问浏览器。我通过pip2.7安装了airflow。 Flower ui 显示良好,initdb 运行连接
gunicorn.service cannot open WorkingDirectory and the gunicorn executable. I think it's about per
任何想法为什么我的 gunicorn 服务器无法启动? jeffy@originaldjangster:~$ sudo /home/jeffy/django_files/django_test_ven
我已经安装了gunicorn,但是没有找到gunicorn命令: # pip3.4 install gunicorn Requirement already satisfied (use --upgr
我在有监督的ginicorn部署我的django项目。 我在virtualenv中安装了gunicorn,添加到INSTALL_APPS中。 命令./manage.py run_gunicorn -b
我成功安装了gunicorn: remote: -----> Removing .DS_Store files remote: -----> Python app detected remote: -
Systemd 和 Gunicorn 需要某种 wsgi 文件作为 ExecStart 的最后一个参数:http://docs.gunicorn.org/en/latest/deploy.html?h
我正在尝试将基本应用程序部署到 Amazon EC2使用 Django , Gunicorn , 和 Nginx .我有应用 git clone进入我的AWS Ubuntu实例并正在运行 Django
在更新为使用小型模型中的 spacy_en_core_web_lg 后,我的 fastapi 服务器内存不足。 当运行 fastapi 时,会生成 4 个 gunicorn worker,并且根据内存
我有一个基于这个的 ansible 配置虚拟机 https://github.com/jcalazan/ansible-django-stack但出于某种原因,尝试启动 Gunicorn 会出现以下错
我关注 this如何在 Ubuntu 18.04 指南中使用 Postgres、Nginx 和 Gunicorn 设置 Django。 我创建了以下文件 .socket sudo nano /etc/
我正在尝试按照此 [链接][1] 在 Digital Ocean 上部署简单的 Django 应用程序用 gunicorn 实现它的抛出错误 gunicorn.service: Failed with
这里我想问你,用python运行gunicorn uvicorn,和默认从tiangolo有什么区别? 我尝试使用 JMeter 对这些进行压力测试具有线程属性: 从这些,我得到了结果:: 从上面我尝
因此,我有一个简单的 Flask API 应用程序,它运行在运行 tornado worker 的 gunicorn 上。 gunicorn 命令行是: gunicorn -w 64 --backlo
我已经使用 Gunicorn + Nginx + Supervisor 部署了一个 Django 1.6 应用程序。一切正常,但我的 Gunicorn error.log 一直在发送错误。该文件很大,
我是一名优秀的程序员,十分优秀!