- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试通过 lighttpd + fcgi 部署我的 django 应用程序,但是当我运行 fcgi 脚本时,它给我一个错误
这是 fcgi 脚本本身:
#!/usr/bin/python2.6
import sys, os
# Add a custom Python path.
sys.path.insert(0, "/home/wite")
# Switch to the directory of your project. (Optional.)
os.chdir("/home/wite/dormcode")
# Set the DJANGO_SETTINGS_MODULE environment variable.
os.environ['DJANGO_SETTINGS_MODULE'] = "dormcode.settings"
from django.core.servers.fastcgi import runfastcgi
runfastcgi(method="threaded", daemonize="false")
当使用 python 运行 fcgi 脚本时,我得到一个 302 FOUND
。当我尝试通过 Web 浏览器访问该页面时,我什么也得不到。
WSGIServer: missing FastCGI param REQUEST_METHOD required by WSGI!
WSGIServer: missing FastCGI param SERVER_NAME required by WSGI!
WSGIServer: missing FastCGI param SERVER_PORT required by WSGI!
WSGIServer: missing FastCGI param SERVER_PROTOCOL required by WSGI!
Status: 302 FOUND
Vary: Cookie
Content-Type: text/html; charset=utf-8
Location: http://localhost/login/
Set-Cookie: csrftoken=30f07d4a59820a5ab7b502447cc16f5a; Max-Age=31449600; Path=/
*编辑 *
在试用了一些 lighttpd 配置选项之后,我设法得到了一些不同的东西。当我通过 Web 浏览器访问该应用程序时,该页面会挂起一段时间并出现 500 错误,并将其留在日志中:
2011-02-12 01:04:59: (mod_fastcgi.c.2582) unexpected end-of-file (perhaps the fastcgi process died): pid: 0 socket: tcp:127.0.0.1:80
2011-02-12 01:04:59: (mod_fastcgi.c.3367) response not received, request sent: 1076 on socket: tcp:127.0.0.1:80 for /dormcode.fcgi?, closing connection
最佳答案
这不仅仅是表面上看到的。
payne 是正确的,因为这个 fastcgi 监听器使用 stdin 作为其通信套接字。
但是,这只是运行 FastCGI 响应程序的一种方法。事实上,这是为 lighttpd 运行响应程序的错误方式,因为 lighttpd 不支持通过标准输入与其响应程序对话。
关键在于这一行:
runfastcgi(method="threaded", daemonize="false")
这是 apache 的正确行,但不是 lighttpd 的正确行。对于 lighttpd,您需要这样的东西:
runfastcgi(method="prefork", daemonize="true", host="127.0.0.1", port="3033")
这将做的是在您选择的主机/端口上运行 fastcgi 进程,作为将 fork 到后台的守护进程。设置 daemonize="false"进行调试,或者如果使用类似 supervisord
的东西,但大多数人通常需要一个守护进程。
需要注意的是,如果你的脚本和刚才粘贴的一样简单,则不需要整个脚本。您可以改为通过 manage.py 运行 fastCGI 响应程序:
./manage.py runfcgi method=prefork host=127.0.0.1 port=3033 pidfile=/path/to/foo.pid
现在您已经(希望)让您的 FastCGI 响应程序运行,您想要在您的 lighttpd 配置中执行此操作:
"/mysite.fcgi" => (
"main" => (
"host" => "127.0.0.1",
"port" => 3033,
"check-local" => "disable",
)
),
也就是说,无论您为 fastcgi 响应器选择什么端口,都需要将 lighttpd 指向那里。
应该注意的是,所有这些都可以在 Django FastCGI documentation 中找到。但是由于开源项目中频繁的编辑和一些功能的增加,该文档已经失去了很多清晰度。
关于python - Django lighttpd FCGI 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4973723/
app = redmine-2.0.1 ruby = ruby 1.9.3p194(2012-04-20 修订版 35410)[x86_64-linux] [root@by1016690 publ
我是新手,如果这听起来很天真,请原谅我。我用 fastcgi++ 写了一个脚本。我测试了基本用例。但作为一名优秀的软件工程师,我想在每次进行更改时测试脚本,以确保我不会破坏任何东西。 这是我以前做的:
我在使用 nginx 使 FCGI 应用程序在 C 中工作时遇到问题。我正在使用 spawn-fcgi 创建套接字并运行我的应用程序(我将其命名为 paste) 我想这一定是我的应用程序有问题,但我很
我正在尝试在共享托管服务提供商上设置 django。我按照 http://helpdesk.bluehost.com/index.php/kb/article/000531 上的说明进行操作 几乎让它
我正在 lighttpd +FCGI 上运行 django 安装。除了管理员之外,一切正常。 我发布某些内容(即我修改或创建模型的实例)后的重定向似乎出错了。 管理员不断将我重定向到 www.xyz.
我有一个用 C 语言编写的 FCGI 应用程序。我们遇到过客户端关闭事件连接的情况,即在页面加载期间离开页面——如果可能的话,我们希望在应用程序中检测到这一点。我们将 Web 服务器 (nginx)
我正在使用 C。例如,我如何发送 404 响应? 最佳答案 包括 Status: 404 Not Found 在您为响应生成的 header 中。 关于c - 如何在 fcgi 程序中设置状态代码?,
我目前正在尝试实现一个在 Linux 上运行的小型 FastCGI 多线程应用程序。我使用来自 fastcgi.com 的库.现在我不确定我是否真的理解 web 服务器和我的应用程序之间的 FCGI
我最近安装了一台新的 ubuntu 机器,带有 wordpress、spawn-fcgi 和 nginx。 每天早上,我都会尝试查看我的博客,但我收到 502 错误网关错误。 我试图找到一些关于为什么
我对 Lighttpd、PHP 和 CGI 有疑问。 我使用的是 OpenSUSE.10。 我已经构建了 lighttpd(版本 1.4.23)和 php(版本 5.3.0)。 这是 lightt
我正在按照说明安装 get 以克隆存储库,然后突然间我开始收到“bin/magento 必须作为 CLI 应用程序运行”错误。 当我执行 php -v 时,它显示: ea-php-cli Copyri
我正在按照 this steps 部署一个 Django 项目 我的 .htaccess 是: AddHandler fcgid-script .fcgi RewriteEngine On Rewri
我对 nginx 和 Perl FCGI 模块有一点问题。我的 FCGI 程序中有一个很长的操作,它可能比我用来通信 FCGI 的 Unix 套接字另一端的服务器(或服务器上的用户)生命周期更长。如果
我使用 fastcgi.com 的 API 用 C 编写了一个 FCGI 程序。我已经像文档所说的那样调用了 FCGI_Accept。当我运行生成的可执行文件时,它就像 CGI 程序一样运行,然后退出
如果这是一个明显的问题,我很抱歉,但我真的束手无策试图解决这个问题。 我有一个 Django 应用程序,它作为 fcgi 进程运行,并使用 Lighttpd 作为前端服务器。 我首先尝试按照文档中的建
我正在使用 django 为客户构建一个网站。它托管在共享主机上,无法使用 mod_wsgi。去年,我使用 fcgi 让它工作,但是当我回来时,它坏了。 我用一个简单的 hello world 脚本替
我想用 C++11 使用 fcgi 和 nginx 编写一个网站。目前只有结合 libc++ 的 Clang++ 完全支持 C++11。 但是当我运行我的 fcgi 程序时,当有人通过浏览器请求页面时
我遇到了一个问题,我不知道如何调试一个用 C++ 编写的基于 fastcgi 的 FCGI 程序。 . 程序由Lighttpd管理spawn-fcgi并由 nginx fastcgi 模块调用。 我写
我正在尝试通过 lighttpd + fcgi 部署我的 django 应用程序,但是当我运行 fcgi 脚本时,它给我一个错误 这是 fcgi 脚本本身: #!/usr/bin/python2.6
我正在尝试使用 mod_fascgi 和 perftools 分析在 apache 中运行的 fcgi 应用程序 (C++) >。所以是 Centos 6 x86_64。 问题如下。根据gperfto
我是一名优秀的程序员,十分优秀!