首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >日志文件不可写

日志文件不可写
EN

Stack Overflow用户
提问于 2022-01-21 16:46:58
回答 2查看 673关注 0票数 2

我正在创建一个基于Django与Docker的网站。我在管理Gunicorn的日志文件方面有个问题。在站点下面的脚本运行时,没有问题:

代码语言:javascript
运行
复制
#!/usr/bin/env bash
cd personal_website

exec gunicorn personal_website.wsgi:application \
    --name personal_website \
    --bind 0.0.0.0:"${PROJECT_PORT}" \
    --workers 3 \
"$@"

我在航站楼上看到的是:

代码语言:javascript
运行
复制
dev_website | [2022-01-21 16:36:17 +0000] [1] [INFO] Starting gunicorn 20.1.0
dev_website | [2022-01-21 16:36:17 +0000] [1] [DEBUG] Arbiter booted
dev_website | [2022-01-21 16:36:17 +0000] [1] [INFO] Listening at: http://0.0.0.0:8301 (1)
dev_website | [2022-01-21 16:36:17 +0000] [1] [INFO] Using worker: sync
dev_website | [2022-01-21 16:36:17 +0000] [11] [INFO] Booting worker with pid: 11
dev_website | [2022-01-21 16:36:17 +0000] [12] [INFO] Booting worker with pid: 12
dev_website | [2022-01-21 16:36:17 +0000] [13] [INFO] Booting worker with pid: 13
dev_website | [2022-01-21 16:36:17 +0000] [1] [DEBUG] 3 workers

但是当我添加日志文件时:

代码语言:javascript
运行
复制
#!/usr/bin/env bash
# Prepare log files and start outputting logs to stdout
touch ./logs/gunicorn.log
touch ./logs/gunicorn-access.log

cd personal_website

exec gunicorn personal_website.wsgi:application \
    --name personal_website \
    --bind 0.0.0.0:"${PROJECT_PORT}" \
    --workers 3 \
    --log-level=debug \
    --error-logfile=./logs/gunicorn.log \
    --access-logfile=./logs/gunicorn-access.log \
"$@"

我看到以下错误:

代码语言:javascript
运行
复制
dev_website | Error: Error: './logs/gunicorn.log' isn't writable [FileNotFoundError(2, 'No such file or directory')]

网站无法运行。哪里出错了?我可以在项目卷中看到这两个文件。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-01-23 10:54:37

问题是,我正在搜索日志文件到错误的文件夹。

代码语言:javascript
运行
复制
#!/usr/bin/env bash
# Prepare log files and start outputting logs to stdout
touch ./logs/gunicorn.log
touch ./logs/gunicorn-access.log

cd personal_website

exec gunicorn personal_website.wsgi:application \
    --name personal_website \
    --bind 0.0.0.0:"${PROJECT_PORT}" \
    --workers 3 \
    --log-level=debug \
    --error-logfile=../logs/gunicorn.log \
    --access-logfile=../logs/gunicorn-access.log \
"$@"
票数 1
EN

Stack Overflow用户

发布于 2022-01-21 23:17:14

在bash脚本中,首先触摸(创建)日志文件,然后更改工作目录。启动web服务器时,文件不会相对于当前工作目录定位。

换句话说,首先运行cd命令,然后运行2x touch命令。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70804751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档