Tag: django

运行一段时间后,memcached会失败

我正在使用Django和memcached来处理大量的请求。 一开始memcached工作正常,但是一段时间后,它开始出现错误。 错误消息也不一致。 花了很多时间之后,我甚至无法找出错误的含义,也不知道如何解决。 build立: Django +默认的memcached后端 使用Docker启动memcached: docker up -d memcached -m 3072m -I 10m -c 4096 memcached使用自己的专用主机 主机规格:4个CPU + 3.5GB内存 swappiness = 0 在Google计算引擎上运行 统计 stats STAT pid 1 STAT uptime 38718 STAT time 1476576775 STAT version 1.4.31 STAT libevent 2.0.21-stable STAT pointer_size 64 STAT rusage_user 73.432000 STAT rusage_system 565.536000 STAT curr_connections 10 […]

Django和nginx与docker组成 – 静态文件不加载

我知道有几个类似的问题已经被问到,但是我还没有设法在任何地方find正确的答案。 我想dockerize我的Django应用程序。 该应用程序在泊坞窗容器中工作正常,但静态文件(图像,CSS等)不加载。 我docker-compose.yml : version: '2' services: web: build: . command: ./start.sh volumes: – .:/app – /app/www/static ports: – "8000:8000" env_file: .env nginx: build: ./nginx links: – web ports: – "0.0.0.0:80:80" volumes_from: – web start.sh脚本 python manage.py makemigrations –noinput python manage.py migrate –noinput python manage.py collectstatic –noinput exec gunicorn audiobridge.wsgi:application –bind 0.0.0.0:8000 –workers 3 […]

为什么我的Django项目会抛出一个名为my_project.wsgi的ImportError:no模块?

我正在尝试使用docker-compose来运行本地Django / Nginx项目。 在docker-compose之后,我收到以下错误: self.wsgi = self.app.wsgi() File "/usr/local/lib/python2.7/dist-packages/gunicorn/app/base.py", line 67, in wsgi self.callable = self.load() File "/usr/local/lib/python2.7/dist-packages/gunicorn/app/wsgiapp.py", line 65, in load return self.load_wsgiapp() File "/usr/local/lib/python2.7/dist-packages/gunicorn/app/wsgiapp.py", line 52, in load_wsgiapp return util.import_app(self.app_uri) File "/usr/local/lib/python2.7/dist-packages/gunicorn/util.py", line 357, in import_app __import__(module) ImportError: No module named my_project.wsgi [2016-11-18 02:58:22 +0000] [9] [INFO] Worker exiting (pid: 9) [2016-11-18 02:58:22 […]

获取“无效的地址”错误上gunicorn绑定与我的服务器IP。 我在docker里试着这个

获取“无效的地址”错误上gunicorn绑定与我的服务器IP。 我在docker里试着这个。 [ docker-compose.yml文件 错误信息 [nginxconfiguration文件]

Docker用户权限在访问容器中的文件夹时被拒绝

我正在运行docker-compose将django与其他一些服务结合在一起,具有以下configuration: Dockerfile : FROM ubuntu:16.10 FROM python:3.5.0 ENV EXTRACTOR_SRC=. ENV EXTRACTOR_SRVHOME=/srv ENV EXTRACTOR_SRVPROJ=/srv/extractor_django #Install package dependencies RUN apt-get update && apt-get -y upgrade RUN apt-get install -y python python-pip virtualenvwrapper # Create application subdirectories WORKDIR $EXTRACTOR_SRVHOME RUN mkdir media static logs VOLUME ["$EXTRACTOR_SRVHOME/media/", "$EXTRACTOR_SRVHOME/logs/"] # Copy application source code to SRCDIR COPY $EXTRACTOR_SRC $EXTRACTOR_SRVPROJ # […]

docker-compose中的停泊许可问题

我正在使用docker-compose来运行django应用程序,并使用ngnix服务它。当我运行docker exec DOCKERNAME /bin/sh -c "python manage.py collectstatic –noinput" 发生以下错误 OSError: [Errno 13] Permission denied: '/src/static/admin/js/popup_response.js' 如何在docker-compose中使用sudo权限运行collectstatic命令

从Docker容器中的Django + Celery诊断API超时

我有一个9服务的微服务架构,每个服务运行在自己的容器中。 这些服务使用多种技术,但主要是Django,Celery(使用Redis队列),共享的PostgreSQL数据库(在自己的容器中)以及一些更具体的服务/库。 微服务通过REST API相互交stream。 问题是,有时以一种随机的方式,一些容器API不再响应,卡住了。 当我在他们的界面上发出一个curl请求时,我得到一个超时。 那一刻,所有其他的容器都回答得很好。 有两个托盘容器。 我注意到,这两个阻塞容器使用: Django的 Django的rest框架 芹菜 Django的芹菜 作为Celery broker的embedded式Redis 访问位于另一个容器中的PostgreSQL数据库 我不知道如何解决这个问题,因为没有相关的信息在服务或Docker日志中可见。 问题是这些API只是在随机时刻被卡住了。 为了使它再次工作,我需要停止阻塞容器,并再次启动。 我想知道如果这可能是一个pythonGIL问题 ,但我不知道如何检查这个假设… 任何想法如何麻烦这个?

Django模型更改不反映在Postgres Docker容器上

我有一个与Docker部署的Django-Postgres应用程序。 我有两个docker容器web和db和一个docker卷用于持久性存储。 我docker-compose.yml文件: version: '2' services: db: image: postgres ports: – '5432:5432' volumes: – 'postgres:/var/lib/postgresql/data' env_file: .env web: build: . command: ./start.sh volumes: – .:/app ports: – "8000:8000" depends_on: – db env_file: .env volumes: postgres: 我在我的django model.py做了一个改动: class Meeting(models.Model): […] participants = models.CharField(max_length=200) 至 class Meeting(models.Model): […] user_participants = models.CharField(max_length=200) 但是,这个变化并没有反映在我的Django应用程序,我得到以下错误: 列call_meeting.user_participants不存在 我跑了: python manage.py […]

Docker Django无法连接到服务器:连接被拒绝

我是Docker的新手,我正在尝试使用docker-compose和docker-machine将我的Django rest API放入Nginx,Gunicorn和Postgres的容器中。 以下教程: https : //realpython.com/blog/python/django-development-with-docker-compose-and-machine/ 我的大部分代码与教程( https://github.com/realpython/dockerizing-django )相同。 有一些小的名字变化。 这是我docker-compose.yml (为了debugging目的,我把gunicorn命令改成了runserver) web: restart: always build: ./web expose: – "8000" links: – postgres:postgres – redis:redis volumes: – /usr/src/app – /usr/src/app/static env_file: .env environment: DEBUG: 'true' command: /usr/local/bin/python manage.py runserver nginx: restart: always build: ./nginx/ ports: – "80:80" volumes: – /www/static volumes_from: – web links: […]

如何从gunicorn或nginx提供静态文件

我正在玩docker工程。 Django +一个容器中的gunicorn,另一个容器中的nginx。 当我从Django dev服务器切换到gunicorn时,我注意到我的所有静态文件都没有被提供。 我一直试图解决这个问题,认为这是一个nginx问题,但如果我访问的Django / gunicorn(而不是nginx)的容器,我也看不到静态文件显示在这里,所以这让我觉得这不是一个nginx的问题,但只是在我的Django设置一个简单的错误? Django settings.py DEBUG = False STATIC_ROOT = os.path.join(PACKAGE_ROOT, "static1") STATIC_URL = "/static/" STATICFILES_DIRS = [ os.path.join(PACKAGE_ROOT, "static"), ] STATICFILES_FINDERS = [ "django.contrib.staticfiles.finders.FileSystemFinder", "django.contrib.staticfiles.finders.AppDirectoriesFinder", ] nginx的 server { listen 80; server_name example.org; charset utf-8; location /static { alias /root/proj/proj/static; } } 注意:我将这个别名设置为/ root / proj / proj / […]