在C语言中使用FastCGI的HMTL5 / UTF8 (fcgi_stdio.h)
此示例对我来说很好: #include "fcgi_stdio.h" int main(void) { while(FCGI_Accept() >= 0) { //Standard FastCGI Example Web-page printf("Content-type: text/html\r\n" "\r\n" "FactCGI Example" " Example Website " "Some text...\r\n"); FCGI_Finish(); } return 0; } 但是,由于我在网页上需要UTF8字符,因此我认为我会使用HTML5格式化网页.这是我的骨架,它可以作为独立文件的正常运行: FactCGI Example
14 2024-04-09
编程技术问答社区
FastCGI清理代码在windows下不工作
使用mod_fastcgi在Windows Server上使用Apache,C代码看起来像: void main() { init(); while (FCGI_Accept() >= 0) work(); cleanup(); } 当将服务取下(即:net stop apache2)时,该过程将终止而无需进入清理代码. 我在这里缺少什么? 解决方案 似乎是从阅读FCGI_Accept manpage和此常见问题在Apache关闭的情况下,FCGI_Accept实际上不会返回-1.尝试为Sigusr1和Sigterm设置信号处理程序.有一个示例(不是特定于Windows的示例,但值得一试)发布了一段时间在邮件列表中,此处. 其他解决方案 过早退出的唯一方法是在work()()(或fcgi_accept()...)中调用" exit()" 编辑: 如果您认为可能是fcgi_accept(),请尝试使用one
16 2024-04-09
编程技术问答社区
FastCGI: 检索请求头文件
我目前正在使用apache和mod_fcgid的FastCGI在Web C ++应用程序上工作. 我正在尝试检索请求的标题,但我没有找到该方法.经过一些研究,我认为标题是" fcgx_request"的属性" envp"中的,但它包含环境变量,例如: REMOTE_ADDR: 192.168.0.50 SERVER_SOFTWARE: Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/1.0.0f DAV/2 mod_fcgid/2.3.6 REDIRECT_UNIQUE_ID: TxytP38AAAEAABpcDskAAAAE FCGI_ROLE: RESPONDER HTTP_ACCEPT_LANGUAGE: fr SERVER_SIGNATURE: Apache/2.2.21 [etc.] 这些变量为我提供了有用的信息,但是我需要真正的HTTP标头,尤其是" cookie".我试图在" fcgx_request
8 2024-04-08
编程技术问答社区
fcgio.cpp:50: 错误: 'EOF'未在此范围内声明
我试图在Linux Ubuntu 10.x机器上构建FastCGI. 我运行以下命令: ./配置 做 我会收到以下错误: 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:
12 2024-04-07
编程技术问答社区
使用Nginx的C语言FastCGI
我正在尝试运行NGINX Web服务器后面用C语言编写的FastCGI应用程序. Web浏览器永远不会完成加载,并且响应永远不会完成.我不确定如何处理和调试.任何见解都将不胜感激. Hello World应用程序是从Fastcgi.com获取的,并简化了这样的外观: #include "fcgi_stdio.h" #include int main(void) { while(FCGI_Accept >= 0) { printf("Content-type: text/html\r\nStatus: 200 OK\r\n\r\n"); } return 0; } 输出可执行文件可执行: 之一 cgi -fcgi -connect 127.0.0.1:9000 A.Out 或 spawn -fcgi -a120.0.0.0.1 -p9000 -n ./a.out nginx配置是: server {
16 2024-04-07
编程技术问答社区
如何禁用apache2和mod_proxy_fcgi的缓冲功能?
我在Debian Jessie上使用mod_proxy_fcgi与我的C ++应用程序一起使用apache 2.4,该应用程序与libfcgipp一起使用ServerSentEvents. 我的问题是,Apache仍然缓冲我的响应数据.我确认Libfcgipp库没有使用Wireshark来缓冲它:通过spawn-fcgi启动FCGI应用程序后,数据将尽快发送到Apache Web服务器.但是在我的浏览器中(我用于测试,后来将有一个C ++客户端),它仅在"杀死"/关闭服务器应用程序中的发送请求后出现. 所以我假设我需要禁用Apache或Mod_proxy_fcgi(或两者)的缓冲.但是我找不到有关如何执行此操作的适当文档. 解决方案 作为 a随后在httpd-dev邮件列表上进行了讨论,将对flushpackets>和flushwait的支持添加到mod_proxy_fcgi in r1802040 和backport for apache 2.4.31 in r18
12 2024-04-04
编程技术问答社区
相对路径中没有这样的文件或目录
我在一个python文件中有一个瓶子应用-Backend.py.该文件包含以下定义: variable = { 'field': [f for f in csv.DictReader(open('../data/fields.csv', 'rb'), delimiter=';')] } def run_fcgi(): from bottle import FlupFCGIServer run(port=8080, server=FlupFCGIServer) if __name__ == "__main__": run(host='0.0.0.0', port=8087, server='waitress') 当我运行此应用时,例如: python backend.py 成功启动了应用程序. 当我将此应用程序作为FCGI应用程序(fcgi.py)运行时: #!my_path_to_python if __name__
14 2024-04-03
编程技术问答社区
Azure Flask Web应用程序的内部服务器错误
我创建了一个带有DreamsPark订阅的Azure托管的Blask Web应用程序.它使用Numpy,Scipy和Theano等库. 当我使用简单的Theano计算部署应用程序时,它可以完美地工作.但是,当我将代码更改为更复杂的Theano计算时,我会收到一个内部服务器错误. 这是示例代码.当我调用简单函数(类似于theano函数的总和)时,它可以工作,但是当调用复杂功能(类似于图像分类计算)时,它会创建一个内部服务器错误: from flask import Flask app = Flask(__name__) wsgi_app = app.wsgi_app from fileContainingTheanoCode import simpleFunction, complexFunction @app.route('/') def hello(): result = simpleFunction() thisStr = str(result)
24 2024-03-24
编程技术问答社区
如何查看Azure fastCGI的实际错误?
我在访问BLOB存储时会在Azure FastCGI上出现通用服务器错误. 错误是: 500内部服务器错误. 您要寻找的资源存在问题,并且无法显示. 以下是代码.此代码在本地测试中运行良好,并且所有文件在内容正常的情况下上传到Azure. . 任何人都可以告诉我如何调试和查看实际错误?
8 2024-03-23
编程技术问答社区
通过nginx和ServiceStack对fastcgi-mono-server进行小规模负载测试后,网关502坏了
我试图在Nginx和Fastcgi-Mono-Server下使用ServiceStack运行Web服务API. 服务器启动正常,API启动并运行.我可以通过ServiceStack Profiler在浏览器中看到响应时间,它们运行到10ms以下. 但是,一旦我使用"攻城"进行小型负载测试(仅使用10个连接的500个请求),我就开始获得502个坏网关.要恢复,我必须重新启动Fastcgi-Mono-Server. NGINX服务器很好. Fastcgi-Mono-Server是在此小负载后停止响应的产品. 我已经尝试使用TCP和UNIX插座(我知道UNIX插座的权限问题,但我已经解决了). 这是我的配置: server { listen 80; listen local-api.acme.com:80; server_name local-api.acme.com; location / {
16 2024-03-09
编程技术问答社区
如何为持久的PHP FastCGI进程设计应用程序?
php终于您如何通过开放这些新的异步图案设计应用程序? 例如,通常如果存在错误或例外,应用程序将其记录,提醒用户和Die().但是,如果您有(几乎)永无止境的守护程序,那么在结束当前请求并移至下一个时,如何处理错误?您不能仅仅继续执行自己的工作(由于错误) - 但是您不能杀死该过程而不会退出. 解决方案 例如... while(1) { try { something(); catch (Exception) { log(); } } 您可以将三页的代码放在某物()中.如果该代码中的任何地方都发生错误,则可以跳过循环的下一个迭代,而不是继续进行当前迭代.
10 2024-03-03
编程技术问答社区
Sethandler fcgi代理在Ubuntu 14.04/Apache 2.4.7 php7.2-fpm上不工作
我需要在Ubuntu 14.04机器上使用MOD_PHP和PHP-FPM/MOD-FASTCGI并行运行PHP 5.6. 在具有Ubuntu 16.04,Apache 2.4和PHP 7.1/MOD_PHP和PHP 7.2/PHP-FPM的其他机器上,一切都按预期工作. 我的步骤: apt install libapache2-mod-fastcgi php7.2-fpm php7.2 php7.2-common a2enmod actions fastcgi alias proxy_fcgi 我设置了一个带有其他池名,用户名和组的FPM Conf文件,套接字文件/var/run/php/php7.2-fpm-mysite.sock. Service PHP7.2-fpm启动并创建了套接字文件. 虚拟主机的DOCRoot所有者设置为FMP Conf File中给出的用户名和组. 我在虚拟主机中添加了Follwoing线: SetH
12 2024-02-28
编程技术问答社区
为Apache2+FastCGI设置启用数据压缩功能
这个问题与我之前的帖子有关: css加载问题. 我面临着Android ICS的默认和海豚浏览器 CSS和JS渲染的问题.此内容是从我的服务器的后端引擎提供的,该引擎使用( apache2 + fastcgi + python )设置. 在搜索可能的问题时,我发现出现问题的主要原因是,内容未从服务器以压缩形式发送. 所以示例响应标头看起来如下: Connection Keep-Alive Content-Encoding gzip Content-Length 5997 Content-Type text/css Date Sun, 29 Jul 2012 14:29:08 GMT Keep-Alive timeout=15, max=100 Server Apache (Ubuntu) Vary Accept-Encoding ,如果从平面文件中提供相同的内容.响应标头看起来如下.所有浏览器都正确渲染. Accept-R
12 2024-02-28
编程技术问答社区
阿帕奇的PHP5-FPM连接被同行重置
这样的事情在我的apache日志中不断弹出.我该如何调试和/或将来防止此问题: (104)peer的连接重置:fastcgi:with server"/var/www/php5.external"中止:读取失败 fastcgi:从服务器"/var/www/php5.external"接收到的不完整标题(0个字节), (4)中断系统调用:fastcgi:with server"/var/www/php5.external"中止:select()失败 解决方案 与您的" select()失败"错误,可能是其他错误,请检查您的libapache2-mod-fastcgi版本,此后有一些问题. 将libapache2-mod-fastcgi从2.4.6升级到2.4.7似乎可以纠正此问题. 更多信息在这里: 但是,我不确定您使用的是什么OS/Apache版本,但希望这可以帮助您解决这些问题. 其他解决方案 我遇到错误1.和2.今天在libapac
20 2024-02-28
编程技术问答社区
带有apache2的FPM不工作(拒绝许可)。
我正在尝试使用Apache,FastCGI和FPM设置Debian Web服务器,但我正在厌恶. 我停用mod_php后立即出现以下错误: [THU 5月22日12:16:10 2014] [错误] [客户端xxx.xxx.xxx.xxx] (13)拒绝的权限:fastcgi:无法连接到服务器 "/usr/lib/cgi-bin/php5-fcgi":connect()失败,参考器:http://... [thu 5月22日12:16:10 2014] [错误] [客户端xxx.xxx.xxx.xxx] fastcgi: 从服务器接收的不完整标题(0个字节) "/usr/lib/cgi-bin/php5-fcgi",推荐人:http://... file/etc/apache2/conf.d/fastcgi: AddHandler php5-fcgi .php Action php5-fcgi /
12 2024-02-28
编程技术问答社区
Apache, FastCGI-错误 503
向我指出,我的服务器是不安全的,因为任何人都可以通过PHP读取任何文件,即使它不在他的DocumentRoot之外. 我决定重新配置整个apache和虚拟主机的所有配置文件,并安装了mod fastcgi,我设法使它运行得很好,我没有权利的问题. ,但似乎还有另一个问题.当我尝试加载3个以上的站点(在不同的VirtualHosts =>不同的线程上的不同用户)时,页面加载一段时间,而不是在"错误503:服务暂时无法使用"上崩溃. 我尝试将所有VirtualHosts的默认设置增加到php_fcgi_children var,nivatualHosts为0到更高的数字,但没有运气.当我在某个教程中阅读时,我还试图将apache2.conf中的keepalive var设置为关闭,但似乎没有任何帮助. 有人知道如何解决这个问题吗? [我的apache error.log和suexec.log是空的.] 解决方案 找到了我自己问题的答案.我忽略了更多的设置.
32 2024-02-28
编程技术问答社区
运行fcgi脚本时丢失locale
我正面临着在运行Django应用程序中编码的问题. 我终于发现我的Django应用程序没有网站设置. 很奇怪的是,我确实正确地设置了Envvars文件.在envvars中使用此内容: export APACHE_RUN_USER=www-data export APACHE_RUN_GROUP=www-data export APACHE_PID_FILE=/var/run/apache2.pid ## The locale used by some modules like mod_dav export LANG=C ## Uncomment the following line to use the system default locale instead: . /etc/default/locale export LANG locale 当我重新启动Apache时,Locale命令将执行,并且我获得了正确的fr_fr.utf-8设置,lang and lc _
8 2024-02-28
编程技术问答社区
Apache FastCGI服务器连接失败
我有一个用于Debian Wheezy的虚拟机器盒,我一直在使用 vagrant 任何问题,但是昨天我提出了一台新机器并更新/升级的软件包时,我开始收到FastCGI服务器连接失败错误: [Wed Jun 04 14:39:03 2014] [error] [client 10.0.2.2] (13)Permission denied: FastCGI: failed to connect to server "/vagrant/php5-fcgi": connect() failed [Wed Jun 04 14:39:03 2014] [error] [client 10.0.2.2] FastCGI: incomplete headers (0 bytes) received from server "/vagrant/php5-fcgi" 我能够通过手动触摸和chmodding /tmp/php5-fpm-vagrant.sock暂时解决这个问题,但是我的问题是为什么它
26 2024-02-28
编程技术问答社区
使用FastCGI的Django在浏览器中出现404,但在命令行中可以工作
摘要 django 1.6 Python 2.6 Apache 2.2.27 PostgreSQL 8.4.20 psycopg2 flup 通过命令行查看我的Django网站的FastCGI包装页面似乎可以正常工作,但是当通过浏览器查看我的网站时,我总是会得到一个404: Page Not Found.我究竟做错了什么?我怀疑这与我的Apache设置有关. 版本和设置 django 1.8文档说FastCGI支持是从Django 1.7处弃用,我无法使用mod_wsgi,因此我使用的是Django 1.6. Python 2.7及以后不可用,因此我使用Python 2.6.而且,这家托管公司不会为我安装Python软件包,但是我自己设法安装了Flup和Psycopg2. (请注意,我必须在Linux64机器上编译PsyCopG2并将其上传到服务器.) django,flup和psycopg2安装在/home/account/public_html/site
20 2024-02-27
编程技术问答社区
自定义PHP FastCGI接口? (更快?)
如何在PHP中构建自己的FastCGI接口? 我想做一些类似于(也就是说,我希望能够将Web App Framework 一次加载到内存中,然后只需将FastCGI调用我提供的每个请求的方法.因此,不是更通用的"默认" PHP FastCGI设置中正在发生的PHP互动预加载.) 欢呼! ( edit :杂种和ror也不是吗?) 好吧,我现在做了一个freakin'图:) 解决方案 我可能会误会(已经很晚了),但是您不是只是想做某种形式的缓存吗?无论如何,FASTCGI接口似乎是相当明确的.因此,应该很容易地做任何您想做的事. 其他解决方案 您可以 在 php 中对于 php,您可以在c中进行 cgi-sapi ,但您可能想使用其他解决方案 如果您真的确定要在PHP中确定它,则可以从理论上,在C 中创建一个PHP模块,并形成 fastcgi in C . 在此之后,您将运行一个php脚本,访问FASTCGI作为独立程序,运行循环并接受请求.其
22 2024-02-27
编程技术问答社区