【问题标题】:Django (IIS) deployed, logging issue已部署 Django (IIS),记录问题
【发布时间】:2021-02-10 13:23:03
【问题描述】:

我在 IIS 上部署了 django 应用程序,但是我的日志记录代码在本地主机上运行良好,导致服务器 500 错误... 请问有什么可以帮忙的吗?

LOGGING = {
    'version': 1,
    'loggers': {
        'django': {
            'handlers': ['debuglog'],
            'level': 'DEBUG'
        },
        'django.server': {
            'handlers': ['errorlog'],
            'level': 'ERROR'
        }
    },
    'handlers': {
        'debuglog': {
            'level': 'DEBUG',
            'class': 'logging.FileHandler',
            'filename': './logs/debug.log',
            'formatter': 'simple',
        },
        'errorlog': {
            'level': 'ERROR',
            'class': 'logging.FileHandler',
            'filename': './logs/error.log',
            'formatter': 'simple',
        }
    },
    'formatters': {
        'simple': {
            'format': '{levelname} {message}',
            'style': '{',
        }
    }
}

也许 IIS 不允许 django 创建日志文件,它需要权限才能这样做?如果是这种情况,我该怎么做?

【问题讨论】:

    标签: django logging iis http-status-code-500


    【解决方案1】:

    您可以按照以下步骤在 iis 中部署 Django 站点:

    1)在 iis 中添加带有项目根路径的站点。

    2) 选择站点-> Doble clcik 处理程序映射。从右侧的操作选择中单击“添加模块映射...”。

    3)将请求路径设置为*,将模块设置为FastCgiModule。

    设置可执行文件:

    C:\Python39\Scripts\python.exeC:\Python39\Lib\site-packages\wfastcgi.py

    4)现在回到服务器节点并选择快速 cgi 模块。

    添加以下环境变量:

    DJANGO_SETTINGS_MODULE = “path to your settings”
    WSGI_HANDLER = django.core.wsgi.get_wsgi_application()
    PYTHONPATH = “path to your repo-root e.g. C:\inetpub\wwwroot\djangosite”
    

    不要忘记为站点根文件夹和python文件夹分配iis_iusrs和iusr权限。

    也要检查日志文件夹的权限。

    https://docs.microsoft.com/en-us/visualstudio/python/configure-web-apps-for-iis-windows?view=vs-2019

    【讨论】:

    • 没有记录代码,部署得很好。我还成功配置了 IIS 媒体和静态文件夹。我必须在 IIS 上配置日志文件夹权限吗?这是可能的问题吗?我正在查看您共享的链接,以了解如何配置日志文件夹
    • @AleksandreBregadze 您只需要右键单击日志文件夹-> 选择属性-> 选择安全选项卡-> 单击编辑按钮,然后单击添加按钮-> 在输入对象中输入 IUSR要选择的名称:文本框。-> 单击“检查名称”按钮,然后单击“确定”。-> 在“允许”列下选中“完全控制”,然后单击“确定”,然后单击“确定”。按照相同的步骤为 iis_iusrs 用户分配权限。
    • @AleksandreBregadze 您的问题解决了吗?如果您的问题得到解决,那么我请求您将有用的建议标记为答案。这将帮助面临同样问题的其他人。
    • 您好,问题尚未解决。我正在寻找解决方案,当我找到它时,如果之前没有人在这里写它,我会自己回答这个问题)
    猜你喜欢
    • 2012-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-19
    • 2016-12-25
    相关资源
    最近更新 更多