我终于得出结论,我再也不能仅仅希望正在进行的Py3k/WSGI 灾难问题能够很快得到解决,所以我需要做好准备继续前进.
不幸的是,我的可用选项看起来并不是很好:
当然有人在生产中在3.x上部署webapps.你使用什么网关接口,哪些模块/库,为什么?
我试图在Linux Ubuntu 10.x机器上构建fastcgi.
我运行以下命令:
./configure make
我收到以下错误:
fcgio.cpp: In destructor 'virtual fcgi_streambuf::~fcgi_streambuf()':
fcgio.cpp:50: error: 'EOF' was not declared in this scope
fcgio.cpp: In member function 'virtual int fcgi_streambuf::overflow(int)':
fcgio.cpp:70: error: 'EOF' was not declared in this scope
fcgio.cpp:75: error: 'EOF' was not declared in this scope
fcgio.cpp: In member function 'virtual int fcgi_streambuf::sync()':
fcgio.cpp:86: error: 'EOF' was not declared in this scope
fcgio.cpp:87: error: 'EOF' was not declared in this scope
fcgio.cpp: In member function 'virtual int fcgi_streambuf::underflow()':
fcgio.cpp:107: error: …Run Code Online (Sandbox Code Playgroud) 我在nginx + fastcgi一些Django项目的生产中使用(manage.py runfcgi ...).很多人建议使用nginx + gunicorn.使用gunicorn而不是使用Django的fastcgi服务器有什么好处?
使用FastCGI C++与PHP/Python/Perl完成同样的工作有什么起伏.
任何表演或设计陷阱或使用一个而不是另一个?甚至欢迎你的意见.(告诉我为什么一个或另一个岩石,或一个或另一个糟透了).
我一直试图让PHP使用IIS 7.5并且遇到了一些障碍.每当我尝试加载页面时,我都会收到以下错误:
"HTTP错误500.0 - 内部服务器错误C:\ Program Files\PHP\php.exe - FastCGI进程意外退出"
模块FastCgiModule
通知ExecuteRequestHandler
处理程序PHP_via_FastCGI
错误代码0x00000000
请求的URL*http:// localhost:80/index.php
物理路径C:\ inetpub\wwwroot\index.php
登录方法匿名
登录用户匿名
请求跟踪失败日志目录C:\ inetpub\logs\FailedReqLogFiles
我根据需要修改了PHP.ini文件以用于IIS,并且还将其切换到详细模式.C:\ inetpub\logs\FailedReqLogs中没有任何日志文件,并且在生成的其他日志文件中没有与此错误相关的日志文件.
我已经尝试过我在这里和其他地方找到的其他修复程序但到目前为止没有任何成功.
这些是:重新检查PHP.ini设置fastCGI以在IIS中使用PHP(配置它以加载php.exe)尝试使用WinCache作为执行方法.
你会推荐哪个?哪个更快,更可靠?apache mod_python或nginx/lighttpd FastCGI?
我目前正在运行几个PHP/FastCGI副本,启用了APC(在Apache + mod_fastcgi下,如果这很重要).我可以在进程之间共享缓存吗?我如何检查它是否已经共享?(我认为apc.mmap_file_mask可能涉及ini设置,但我不知道如何使用它.)
(我认为目前不共享的原因之一是,apc.mmap_file_mask当我重新加载时,apc.php web界面报告的大约3个不同的值之间会翻转.)
我使用nginx和fastcgi.我在错误日志中看到了很多以下错误
readv()失败(104:通过对等方连接重置),同时从上游读取响应头,同时读取上游和recv()失败(104:由对等方重置连接)
我没有看到使用该应用程序的任何问题.这些错误是严重的还是如何摆脱它们.
我正在运行nginx + php-fpm.有什么方法我怎么知道每个PHP进程在做什么?像apache中的扩展mod_status,我可以看到使用PID x的apache进程处理URL y.我不确定PHP进程是否知道URL,但获取脚本路径和名称就足够了.
我今天在Cherokee上设置了Django(使用SCGI),我注意到Django文档说你可以使用主机/端口组合或套接字来进行webserver和Django之间的通信.
他们唯一要说的就是这个问题
你选择的是一种偏好; 由于权限问题,TCP套接字通常更容易.
(顺便说一句,我使用套接字执行此操作时遇到了权限问题,但是没有使用主机:).)
我依旧记得套接字是如何从我的系统编程类中运行的,但我真的很好奇两者之间的有效区别.任何时候都有选择的东西,有人对此事有意见,所以我希望得到那个.特别是,有任何性能差异吗?
或者,如果它真的没关系,我只想要一些确认,所以我可以继续我的编程并忽略这个系统管理员的东西.