问题标签 [flup]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - 使用 django + nginx + Flup 时打印语句写入哪里?
我正在尝试调试我的 django 应用程序,但这很难,因为我不知道我的打印语句将它们的输出发送到哪里。我将flup和fastcgi与django和nginx一起使用,我可以看到python错误并通过nginx访问日志,但我不知道我的打印语句要去哪里。
这是我的 nginx.conf 文件中的相关内容:
我正在使用以下命令运行 fastcgi:
我基本上遵循了本教程https://code.djangoproject.com/wiki/DjangoAndNginx,我的操作系统是 ubuntu!
谢谢您的帮助!
django - PyCharm 2.7 + django 1.4.3 + 无法导入flup.sever.fcgi_fork
操作系统:Windows 7 Django:1.4.3
所采取的行动:
- 从 PyCharm 2.6.3 升级到 PyCharm 2.7
- 打开一个在 PyCharm 2.6.3 上运行良好的项目。
manage.py run
在 PyCharm 下运行- 收到未安装flup的错误(在PyCharm 2.6.3中不需要flup)
跑到
pip install flup
命令行C:\>pip install flup
下载/解压flup 下载flup-1.0.3.dev-20110405.tar.gz (57kB): 57kB 下载 运行setup.py egg_info 获取flup包
安装收集的包:flup 运行 setup.py install for flup
Successfully installed flup
打扫干净...manage.py run
在 PyCharm 下运行
收到以下错误:
问题:我该如何解决这个问题?
python - 如何从 lighttpd mod_fastcgi 转换为 Apache 2.2 mod_fcgid
我有一个 Python 脚本,其中包含:
我在带有 Python 2.7.3 的 ubuntu 12.04.2 LTS 服务器上从命令行运行这个 Python 脚本。
在同一台服务器上,我配置了 lighttpd 版本 1.4.28
当我https://TheEffKyouDeeEnn/MyFCGI/blah/blahblah
使用 JSON 对象作为 POST 请求时,系统会按照我预期的方式运行,并将我的请求传递给在命令行上运行的 Python 脚本。
我需要在运行 Apache 2.2 的 MS-Windows Server 机器上配置相同的功能。我想保留将我的 Python 脚本部署在网络上任何位置的能力,而不仅仅是在具有 Apache 实例的服务器上。尽管文档似乎表明这是可能的,但至少使用 mod_fcgid,我自己无法使其工作,也找不到工作示例。
您能否确认 mod_fcgid 是合适的模块并举例说明如何配置 Apache 和 mod_fcgid 以复制我的 lighttpd 行为?
django - HTTP POST 请求使用 Django/flup 失败超过 128k
所以我有一个表格拍摄一张图片并上传它。当图像超过 128k 时,这会产生错误,否则它可以正常工作。
我没有错误消息,因为它试图渲染 500.shtml,我在 Django 中没有模板,所以 Django 认为它是 404(如图)。注意 .shtml,这不是 Django 的常规 500 错误,它是服务器。我在共享主机上。
使用 Django 1.4.5、Flup 1.0.3、Python 2.6.6
我在 .htaccess 中尝试过 LimitRequestBody 指令,但没有效果
其他详细信息:这发生在 django 管理界面和我制作的自定义表单/视图中。视图不会被执行。我尝试了不同的文件存储方法(plain/filesystem 和 django-storages(s3boto)。只要文件小于 128 KB,一切都很好
更新- 没有解决方案:与我的托管公司进行了详细交谈。检查其他设置等。在本地测试环境中部署时无法重现。最终在实时站点上使用了解决方法(使用现有 URL 而不是实时上传)
apache2 - 具有动态服务器的 apache2 FastCGI 通信中止了第一次读取空闲超时
总结:无法运行任何最简单的“Hello World”FastCGI 脚本,任何请求总是以超时终止。似乎服务器和 FastCGI 脚本之间根本没有通信(使用动态 FastCGI 脚本)。
环境
- Ubuntu 精确版 (12.04)
- 包裹
apache2.2-bin
- 包裹
apache2-mpm-prefork
- 包裹
libapache2-mod-fastcgi
- 包裹
libfcgi-perl
- 包裹
python-flup
- 多个站点配置为虚拟主机
127.0.0.1
- 存在一个
/var/lib/apache2/fastcgi
目录,由 拥有www-data
,所有人(所有者、组和其他人)都可以读取 - 存在一个
/var/lib/apache2/fastcgi/dynamic
由 拥有的目录,该目录www-data
仅限于所有者(只读、可写和www-data
仅可访问) /var/lib/apache2/fastcgi/
目录下存在inode/socket文件
FastCGI 相关配置:
该目录/etc/apache2/mods-enabled/
包含对fastcgi.conf
和fastcgi.load
(mod_fastcgi
已启用) 的引用。
该文件fastcgi.conf
包含以下内容(保持不变,我没有编辑它):
中的相关配置文件/etc/apache2/sites-enabled/
包含以下内容(关于 FastCGI 特定配置的其他任何地方都没有):
测试虚拟主机上的测试材料:
存在一个fcgi-bin/test-perl.fcgi
其内容是(该文件可以被所有人执行,并且可以被所有者和组读取):
存在一个fcgi-bin/test-python.fcgi
其内容是(该文件可以被所有人执行,并且可以被所有者和组读取):
问题
虽然fcgi-bin/test-perl.fcgi
和都fcgi-bin/test-python.fcgi
在从命令行执行时正常运行,但在调用时似乎都不起作用,例如 ashttp://test.loc/fcgi-bin/test-perl.fcgi
或http://test.loc/fcgi-bin/test-python.fcgi
.
什么都没有发生,经过一段时间的延迟,我得到一个错误 500,并且 Apache 错误日志包含多个条目,如下所示:
我花了几个小时在网上搜索试图了解它为什么不起作用,最后决定放弃并在这里寻求一些帮助。
欢迎任何指针和检查列表。随意询问您可能认为相关或值得检查的任何缺失细节。
享受美好的一天。
- 编辑 -
问题更新
在我自己对自己问题的回答中,我提到了一个奇怪的案例,事情看起来突然好起来了,没有任何理由。后来我发现这只是部分好。
在相同的虚拟主机中,使用完全相同的服务器配置,一些完全相同(并且具有完全相同的访问权限)的脚本会根据它们的位置而失败。
作为其余部分,以下是站点配置中的内容:
有了上述,只有脚本/fcgi-bin
被处理为 FastCGI 脚本。但我在其他地方也有一些(仍在测试中):一进/cgi-bin
一进/
(即在public_html
目录中)。为此,.htaccess
包含以下条目:
因此,另外两个 FastCGI 脚本应该与 in 中的一样工作/fcgi-bin
,但它们没有,并且在当时,它们总是以连接超时终止,就像第一个/fcgi-bin
那样。
这让我觉得mod_fastcgi
模块可能有问题(已知错误?其他?)。到目前为止,这个模块似乎是相当随机的。
-- 编辑 2 --
第一次编辑中的上述内容是我的错误:该组对其他脚本有误,它必须是www-data
,但不是。有什么问题吗,请坚持我给出的答案,即尝试查看FastCgiConfig
,看看它是否解决了任何问题,或者至少它是否支持超时选项。
python - Django 经常返回过时的视图
我对 Web 开发(不是编程)很陌生,但我刚刚成功(有点)部署了一个非常基本的 hello-world 风格的 Django 应用程序。我第一次这样做时,我的 HTML 有问题。这是我对错误的整体看法:
第一个 body 标记之后的额外 < 导致浏览器显示空白页面。我弄清楚我做了什么并修复了错误。我还添加了一个标题,这样我就可以更好地(稍微)跟踪正在发生的事情。旧的观点变成了这样:
现在浏览器大部分时间显示旧视图(空白页面),有时只是带有空白正文的标题,偶尔会显示整个正确的新视图。我不知道发生了什么事。我正在运行带有flup的nginx来处理FastCGI。想法?
python - 使用 nginx/flup 响应请求后,如何运行后台线程?
我的堆栈是 Nginx + Flup + Flask。
所以我有一个有限线程,它运行一个具有有限生命周期的后台线程。
它被执行,持续大约一两分钟,然后结束。问题是,为了响应,我让它在后台进程仍在运行时首先向请求返回一个值。
问题是,在某种程度上,fcgi 线程不断被杀死。
我尝试将 connection_timeout 更改为 1800s
重启nginx,现在线程响应后几乎立即被切断。
我怎么能
1)简单地修复我的python代码/fcgi代码(不用redis/rabbitmq/celery重构成一个巨大的新堆栈,因为这真的是一个快速的项目)
2)阻止 nginx 杀死我的线程,至少不会那么快。
谢谢!
python - 用于在 web.py (+ flup/fcgi) 中的线程之间共享对象的可扩展解决方案
我需要在web.py的线程之间共享一个对象。我正在运行一个执行计算并返回一个值的 Web 服务。计算是使用占用大量内存的对象完成的,因此我不希望为每个请求都创建它。
我有一个可以正常工作的解决方案,但似乎无法扩展:
web.py会自动开启 10 个线程,但是这个数量是固定的,而且非常有限。我可以改变它吗?
web.py 安装指南建议使用Flup + 像LightTPD或Apache这样的服务器。这可以在保留我需要的共享对象功能的同时完成吗?谁能告诉我怎么做?
我安装了flup并在启动服务器时添加了“ fcgi ”作为命令行参数。这给了我在线程(无限数量)方面所需的行为,但当然没有执行任何任务。我认为需要定义一个fcgi服务器。这可以在不运行LightTPD或Apache的情况下解决吗?
python - 问题设置 Flask 站点
我正在完成一个简短的 Flask教程,但遇到了一些问题。我走到了尽头,收到了 500 服务器错误。如果我从我的虚拟环境中运行 .fcgi,我会收到以下消息。我没有在我有权访问的日志中看到任何错误。不太确定问题是什么。
- 共享主机:Bluehost
- Python版本:2.7.6
错误信息
.htaccess
flask_hello_world.fcgi
flask_hello_world_app.py
安装的软件包/.virtenv/flask_hello_world
django - Django - Dispatch.fcgi 在终端中显示正确的输出,但浏览器导致未处理的异常
我刚刚安装了 Django-cms,并且正在使用 FastCGI 和 Flup 在共享主机上运行 Django。当我从终端调用“dispatch.fcgi”时,我得到了正确的 html 输出。但是,当我尝试从浏览器访问我的网站时,我收到了非特定错误:
应用程序引发了未处理的异常。
这是运行 ./dispatch.fcgi 的终端输出:
等等
我已经尝试将 if/else 语句添加到 dispatch.fcgi 文件中,将其错误写入错误日志,但日志为空!
任何人都知道错误发生在哪里?如何获取有关“未处理的异常”的更多信息?
编辑:下面是 dispatch.fcgi: