问题标签 [mod-fcgid]
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.
php - FCGI 和 upload_tmp_dir PHP 指令无法正常工作
我将PHP作为FCGI运行!我将upload_tmp_dir
option 设置为 value /home/domain.com/tmp
。执行phpinfo()
复查时,确认上述设置正确。
然而,当实际上传发生时,上传文件会暂时进入/tmp
具有权限的目录apache:apache
,当上传完全完成时,上传的文件才会被移动到目标目录,该目录设置在upload_tmp_dir
. 文件移动后,它具有适当的权限,即domainowner:domainowner
.
FCGI
如上所述发生的事情是绝对错误的,并且与正在做的事情mod_php
或 CGI
正在做的事情不同!mod_php
并 CGI
开始直接将文件上传到upload_tmp_dir
,然后在上传完成后重命名文件。
我对此几乎没有什么担忧,如下所示:
想象一下,如果 20 个人同时完成上传大约 2GB 的文件会怎样?上传的文件必须从 移动到主目录/tmp
,给文件系统造成很多无用的负载!因此,我认为移动比重命名同一目录中的文件更有资源?!除了/tmp
挂载为ext3
和 home as ext4
,更糟糕的是/tmp
分区是 16GB 的空间,这与我上面想象的完全是灾难?
问题:
如何以与or相同的方式强制FCGI
使用指令?我还没有找到记录的方法来更改它使用的临时目录。upload_tmp_dir
CGI
mod_php
请帮忙!?
objective-c - 本地 http 服务器生成的自定义 FCGI 应用程序的套接字路径是什么?(即apache/mod_fcgid、lighttpd/mod_fastcgi等)
我正在开发一个用objective-c/cocoa 编写的fastcgi 开发工具包,它模仿AppKit/UIKit 的行为和结构(应用程序委托、运行循环、事件队列等)。我已经完成了关于 fastcgi、libfcgi、使用 libfcgi 的 fastcgi 目标 c 实现的功课,但我很遗憾地意识到,为了使其 100%“可可”,我必须自己实现协议,从从头开始(libfcgi 被设计为“循环”的方式与 CoreFoundation RunLoops 和事件队列不兼容)。
话虽如此,根据 fastcgi.com 上的文档(FCGI 白皮书),fastcgi-responder 应用程序有以下几种情况:
- 该应用程序是 Web 服务器的本地应用程序,并由后者根据需要生成,以满足传入的请求
- 该应用程序对于 Web 服务器来说是本地或远程的,但 Web 服务器假定它已经在运行并通过域套接字或 tcp/ip 套接字与其通信。
我对第二种情况很好,因为我可以控制我希望我的应用程序监听的套接字路径/IP 地址和端口:我知道我的通信通道在哪里。
我遇到的问题是第一种情况。我一直在筛选fci_stdio.c
并fcgiapp.c
查看FCGX_Accept_r
,等FCGX_InitRequest
,FCGX_Stream
我似乎无法找到它试图读取的套接字。
不,这不是stdin
因为它被劫持并“封装”到fastcgi.com 文档中指定的FCGI_FILE
结构中。fcgi_stdio.h
我承认我的 posix 编程时代已经远远落后于我,而且我有点生疏了。我肯定错过了一些东西。
我试过stdin
在我的应用程序中收听,它出现了 posix 错误 57(未指定的错误)并且没有数据。这是我在示例应用程序的日志中获得的输出示例:
- 请不要被消息名称误导:它们与 AppKit/UIKit 完全相同,但它们不是来自
NSApplication
. ** 它可以超时,因为我没有在代码中做任何事情来响应请求或将任何数据发送回服务器(我离那个很远)。
如果服务器根据请求动态创建套接字,应用程序如何知道要监听(读取/写入)的套接字路径?
asp.net-mvc-2 - 没有 mod_mono 的 ASP.net MVC 配置问题
我们正在开发一个应该在 linux 上运行的 MVC .Net 网站。它与 mod_mono 配合得很好,但我们被禁止在生产服务器上实际使用 mod_mono 以解决性能问题。此外,我们使用 mono-fastcgi-server2 和 mod_fcgid。
因此,当禁用 mod_mono 时,主页仍然可以正常工作,但任何像 /controller/action 这样的请求最终都会出现 404 错误。
我想知道我们是否可以在没有 mod_mono 的情况下运行我们的 MVC .Net 网站?
这是我在这个网站上的第一个问题,我对 apache 和模块不是很熟悉。谢谢你的帮助。
kohana - PHPExcel + Kohana:500 内部服务器错误
我在 Kohana 中建立了一个网站,我正在尝试允许上传 Excel 文件。我正在使用 PHPExcel 读取数据。它在我的本地服务器上运行良好,但在远程服务器上失败。(远程服务器托管在 xmission.com)
所以控制器中的代码如下:
该代码一直通过控制器,但不幸的是我收到了 500 内部服务器错误。错误日志说:
听起来我好像需要更改 FastCgi 设置,但它是一个共享主机帐户,所以我可能无法更改。谢谢您的帮助!
centos - Centos 6 - Plesk 11 - MaxRequestLen - 无法修改 mod_fcgid
我刚刚在 Centos 6 上安装了 Plesk 11,我无法上传大于 17-18 Mo 的文件。
[警告] [客户端] mod_fcgid:HTTP 请求长度 16777368(到目前为止)超过 MaxRequestLen (16777216)
我这样设置我的 php.ini:
我试图
/etc/httpd/conf.d/fcgid.conf
通过添加来修改FcgidMaxRequestLen 30000000
并重新启动apache;我仍然遇到同样的错误。
这是我尝试过的:
我发现 FcgidMaxRequestLen 也设置在这个文件 /usr/local/psa/admin/conf/templates/default/domain/domainVirtualHost.php 更改,保存,apache 重新启动.. 同样的错误
我尝试使用不同的大小设置 FcgidMaxRequestLen,1 giga,20 mo ect 仍然相同的错误。
我尝试更改 http.conf 并添加以下内容:
< IfModule mod_fcgid.c > MaxRequestLen 20000000 </IfModule >
我正在为每一个更改重新启动 apache。一定有一些我丢失的配置文件,但我不知道在哪里
fastcgi - 在 PHP 5.4 中设置 PHP-FPM
我的配置是这样的:
Centos 6.3
Plesk 11.5
PHP 5.4.18
Apache 2.2.15
PHP API:20100412 服务器API:CGI/FastCGI
我使用 php 作为 fastcgi。但我想使用 APC 或 XCache。而且似乎 FastCGI 不适用于 opcache。所以我读到最好使用 PHP-FPM。那么如何启用或安装 PHP-FPM 呢?
我阅读了一些教程,他们提供使用 fpm 编译 apache,但这对我来说似乎是一个很大的风险。我对服务器不是很了解。
我不确定我是使用 mod_fastcgi 还是 mod_fcgid。在我的 /etc/httpd/conf.d/ 文件夹中,我有 fcgid.conf 文件。所以我想我使用 fcgid。这是对的吗?
我的 Plesk 有这个设置:http
://s11.postimg.org/pgqxwmmr7/fast.jpg
我很好奇如果我安装 php-fpm 会破坏我的网络服务器还是会出现任何其他问题?
php - mod_fcgid 进程和 XCache 生命周期
我使用 mod_fcgid 和 Xcache 3.0.3、PHP 5.4.18。我知道由于 mod_fcgid 设计,我不能使用公共共享内存,所以每个 php-cgi 进程在其生命周期内都使用自己的缓存。
当我打开top
并检查php-cgi
进程时,我看到:
然后我检查 XCache 管理面板。每次我刷新管理页面时,我都会看到另一个进程的数据。例如,我看到:
似乎进程14827
存活了 27 秒。但是当我检查top
该过程适用于 0:07.07 时。
PID14827
的寿命也是 7 分钟或 27 秒。哪个是正确的,还是我错过了 XCache 内部工作的某些内容?
/etc/httpd/conf.d/fcgid.conf
改变并延长每个流程的生命周期是更好的选择吗?或者更改默认值是个坏主意。
我可以做更多的优化来使XCache
工作mod_fgid
更好吗?(我不喜欢将我的服务器更改为 nginx,并迁移到 mod_fastcgi)
warnings - 高 CPU mod_fcgid:无法应用进程槽
我收到以下警告:
mod_fcgid:无法为 /var/www/cgi-bin/cgi_wrapper/cgi_wrapper 应用进程槽
一旦出现此警告,服务器 CPU 就会提高到 97% - 101%
服务器每天获得大约 140K 的页面浏览量。此警告主要出现在 11:00-12:00 左右。除了 Analytics 计算的 140K 网页浏览量外,它还会向在其网站上显示文字广告的第三方网站发出请求。大约 2700 个网站正在展示一个广告,并且每小时总共向服务器发出 22139 个请求。
我试过了:chmod 755 /var/log/httpd
但 /var/log 中没有文件夹“httpd”
我尝试将 MaxSpareServers 和 MaxClients 调整为任何可能的高值。但完全没有影响。在 Apache 重新启动后,它似乎会好一阵子(服务器的响应仍然有点慢,并且日志文件中不再出现警告)。但过了一会儿,同样的警告出现了,CPU 再次升高。
如果有人有建议请告诉我,谢谢大家。
apache2 - 服务器正在发送格式错误的 FCGI 标头
我编写了一个非常简单的程序,从 FastCGI 服务器读取信息。它所做的一切都是接受文件描述符为 0 的套接字,并将它从服务器接收到的所有数据“吐”到raw.binary (1KB)中。我收到了 926 个字节,但文件长度为 1014,因为缓冲区有那个大小。
我尝试使用此FastCGI 规范手动分析数据,但数据似乎与该规范告诉我的不匹配。
前 2 个字节都等于 1。很好,这意味着协议版本 1,类型 1。(代表请求的开始。)
接下来的 2 个字节组成一个包含 1 的 int16。这也符合预期,因为这是请求 ID,而 1 是第一个请求。
然而,接下来的 2 个字节(十六进制)00 08
告诉我内容长度是 8...虽然这是不可能的,有很多内容甚至不在这个 8 值的范围内,如果您下载了二进制文件,您可以看到胡言乱语。
我究竟做错了什么?
php - Apache 上的大型下载失败
我将 fcgi 与 Apache 一起使用,并且在向我的成员提供 .zip 文件以供下载时遇到问题。
一个 700MB 的文件将开始下载,如果到那时还没有完成,大约 9 分钟(540 秒)后将失败。
我检查了 my.cnf、php.ini 和 http.conf,找不到任何在这 540 秒标记附近的超时设置。我找不到一个快速的 cgi 配置文件,所以不知道那在哪里或者是否是问题所在。
有人可以帮助我吗?
谢谢!- 詹妮弗