嗯,我正在尝试使用uwsgi和docker在生产服务器上获得django应用程序。在生产服务器上,nginx已经启动,但是没有为uwsgi配置。我使用没有虚拟环境的pip将uwsgi安装到docker中。然而,当我尝试用django应用程序服务时,我得到uwsgi_master_fifo()/mkfifo(): Permission denied [core/fifo.c line 112]
。
我uwsgi.ini:
[uwsgi]
http-socket = :8000
chmod-socket = 777
chdir = /api/
module = MenStore.wsgi:application
static-map = /staticfiles=static
master = true
processes = 4
offload-threads = 4
vacuum = true
harakiri = 30
max-requests = 10000
stats = :9191
memory-report = true
enable-threads = true
logger = internalservererror file:/tmp/uwsgi-errors.log
post-buffering = 1
buffer-size = 16383
uid = 1000
gid = 1000
touch-reload = uwsgi-reload
master-fifo = uwsgi-fifo
我的django应用服务到docker-compose文件:
api: &api
build:
context: Backend
dockerfile: Dockerfile
ports:
- "8000:8000"
volumes:
- "/root/MenStore/media/:/api/media/:rw"
command: uwsgi --ini /api/uwsgi.ini
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_started
我找到解决办法了。我添加了RUN chmod 0777 [work_directory]
到我的Dockerfile.