self.method = environ['REQUEST_METHOD'].upper() KeyError: 'REQUEST_METHOD' 使用 uwsgi 在 EC2 上设置 django 服务器时

2024-04-10

我得到了

当我击中http://ec2-X-YZ-ABC-EFG.compute-1.amazonaws.com/admin.

我很确定我的 Django 应用程序没有任何问题,因为该应用程序是空的,即。我刚刚使用创建了该应用程序django-admin startproject tempo仅仅这个改变——ALLOWED_HOSTS = ['*'],以便它接受来自任何 IP 的请求。

由于这是一个开发服务器并且不包含任何数据,因此我允许来自任何主机的请求。这是我的入境规则,

Ports   Protocol    Source
 80       tcp      0.0.0.0/0, ::/0
 22       tcp      0.0.0.0/0, ::/0  
 443      tcp      0.0.0.0/0, ::/0

这是我的/etc/nginx/sites-enabled/tempo

upstream tempo-server {
    server   unix:///home/ubuntu/tempo/tempo.sock;
}
server {
    error_log       /var/log/nginx/tempo/error.log;
    access_log      /var/log/nginx/tempo/access.log;
    listen 80;
    server_name X.YX.ABC.DEF;
    location = /media/ {
        root /home/ubuntu/tempo/media;
    }
    location / {
        include        /etc/uwsgi/sites/uwsgi_params;
        uwsgi_pass    tempo-server;
    }
}

这是我的uwsgi.ini file

[uwsgi]
chdir           = /home/ubuntu/tempo
module          = tempo.wsgi
home            = /home/ubuntu/seatr/venv-seatr
master          = true
processes       = 10
socket          = /home/ubuntu/tempo/tempo.sock
chmod-socket    = 777
vacuum          = true

另外,uwsgi 启动没有错误,.sock 文件也创建成功。

nginxerror.log shows:

2019/04/04 20:03:48 [error] 30261#30261: *9 upstream prematurely closed connection while reading response header from upstream, client: 129.219.8.129, server: X.YZ.ABC.DEF, request: "GET /admin HTTP/1.1", upstream: "uwsgi://unix:///home/ubuntu/tempo/tempo.sock:", host: "ec2-X-YZ-ABC-DEF.compute-1.amazonaws.com"

PS:我的启用站点(软链接)仅包含此tempo文件,可用站点包含几个文件。

我已经在多个地方读过这个问题,但没有答案:

here https://djbook.ru/forum/topic/3286/ here http://librelist.com/browser/flask/2013/4/15/keyerror-request-method-when-running-getting-started-application-on-uwsgi/


My uwsgi_params文件完全是空的。因此nginx无法发送诸如“请求方法”,因此出现上述错误。

My uwsgi_params文件如下:

uwsgi_param QUERY_STRING $query_string;
uwsgi_param REQUEST_METHOD $request_method;
uwsgi_param CONTENT_TYPE $content_type;
uwsgi_param CONTENT_LENGTH $content_length;
uwsgi_param REQUEST_URI $request_uri;
uwsgi_param PATH_INFO $document_uri;
uwsgi_param DOCUMENT_ROOT $document_root;
uwsgi_param SERVER_PROTOCOL $server_protocol;
uwsgi_param HTTPS $https if_not_empty;
uwsgi_param REMOTE_ADDR $remote_addr;
uwsgi_param REMOTE_PORT $remote_port;
uwsgi_param SERVER_PORT $server_port;
uwsgi_param SERVER_NAME $server_name;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

self.method = environ['REQUEST_METHOD'].upper() KeyError: 'REQUEST_METHOD' 使用 uwsgi 在 EC2 上设置 django 服务器时 的相关文章

  • Django 说端口已被使用

    当我运行 Django 时runserver命令显示端口已在使用中 所以每次我都需要杀死使用该端口的进程并再次运行服务器 谁能给我一个永久的解决方案 您可以使用另一个端口 因为可能是port您正在使用的有一些问题 python manage
  • 在 uwsgi 应用程序中运行子进程

    我正在编写一个 Django 应用程序 它需要执行长时间的异步任务 最初的想法是从执行该工作的视图启动一个子流程 并在另一个视图中监视进度 当应用程序通过以下方式启动时 这个想法运行良好manage py runserver 但是当它在 u
  • pyPDF通过django合并并显示为httpresponse

    我在合并 pyPDF 逻辑以将两个 pdf 文件合并到我的 django 站点时遇到问题 我编写了在本地服务器上的 python 文件中运行时用于合并文件的代码 但我需要明确识别要合并的文件 from pyPdf import PdfFil
  • Django 全文搜索优化 - Postgres

    我正在尝试利用 Django v2 1 和 Postgres 9 5 创建一个地址自动完成功能的全文搜索 但性能目前不适合自动完成 我不明白逻辑我得到的绩效结果背后 就信息而言 该表相当大 有 1400 万行 我的型号 from djang
  • 如何将自定义 CSS 添加到脆皮表单?

    我正在尝试在脆皮表单的帮助下为我的网站创建一个响应式表单 我没有使用引导程序 我想将自定义 CSS 添加到脆皮表单以匹配我的整个网站 HTML
  • django获取FileField的绝对路径

    我试图在模板上调用 FileField 时检索绝对路径 以 http 开头 我怎样才能做到这一点 ie fl uploadedfile gt 返回相对路径 如 media uploads 当我想要的时候This http www blabl
  • / __init__() 处的 TypeError 恰好采用 1 个参数(给定 2 个)

    我有点困惑为什么会出现这个错误 我不知道这个额外的参数是从哪里来的 Environment Request Method GET Request URL http 0 0 0 0 5000 Django Version 1 6 4 Pyth
  • 从values() 或values_list() 中排除字段

    有没有一种有效的方法从函数中排除字段values or values list e g Videos objects filter id 1 get values 我想从此查询集中排除该字段duration 我知道我可以指定我想要在结果中包
  • Django admin:如何使用 url GET 参数按日期时间范围过滤记录?

    我有带有时间戳字段的记录 我想按日期时间范围过滤它们的 Django 管理视图 我正在寻找类似添加到网址的内容 timestamp lt 201012310715 timestamp gte 201012300715 这不行 有任何想法吗
  • 如何从 docker-compose 链接到 Amazon RDS

    我的 docker compose yml 看起来像这样 django build user django links LINK TO AMAZON RDS command gunicorn sh env file config setti
  • 如何引用 models.py 之外的信号

    在文档中Django 它指定models py是定位信号回调函数的好地方 post save pre save etc 这段代码应该放在哪里 您可以将信号处理和注册代码放在您喜欢的任何地方 但是 您需要确保它所在的模块获取 尽早导入 以便信
  • 为什么 S3 上的压缩文件返回 403 Forbidden 错误?

    我正在使用 django compressor 和 django storages 在 S3 上提供我的压缩文件 使用以下说明 http django compressor readthedocs org en latest remote
  • django 管理站点导航侧边栏搞砸了

    我最近在我的项目中添加了一个包并做了一个pip freeze gt requirements txt然后 然后我做了pip install r requirements txt到我的本地 它添加了一个侧边栏 I did a pip inst
  • Django 的登录代码

    谁能给我一些带有模板代码的示例代码来创建 Django 登录 Thanks 包含示例登录模板在文档中 https docs djangoproject com en stable topics auth default module dja
  • @monthly cron 作业不可靠

    我们的客户希望我们每月创建一份报告 过去 我们使用 monthly cron 作业来完成此任务 但这并不可靠 服务器可能会在这一分钟内宕机 Cron 不会重新运行这些作业 如果服务器已启动 此时数据库可能无法访问 如果服务器已启动且数据库已
  • Django:在表单中初始化小部件时获取当前网址

    当我初始化表单以在其中找到我想要检查的字符串时 我想获取当前的 url 根据这个字符串 我想更改放入单选小部件中的数据 我想根据 url 显示不同的 radioselect 选项 class FunctionForm forms Model
  • Django 找不到记录器“城市”的处理程序

    我正在尝试设置 Django Citieshttps github com coderholic django cities https github com coderholic django cities使用以下命令 sudo pyth
  • 为什么 Django 的 URLField 默认截断为 200 个字符?

    我喜欢 Django 并且经常使用它 我发现它的大部分默认设置都是正常的 但有一个一直困扰着我 以至于我在每个项目中都覆盖了它 a 的默认最大长度URLField https github com django django blob st
  • 没有 django_site 这样的表

    我正在关注以下文档django disqus http django disqus readthedocs org en latest installation html configuring your django installati
  • 使用信号时出现 django TransactionManagementError

    我有一个与 django 的用户和 UserInfo 一对一的字段 我想订阅用户模型上的 post save 回调函数 以便我也可以保存 UserInfo receiver post save sender User def saveUse

随机推荐