问题标签 [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.

0 投票
1 回答
2105 浏览

perl - Perl & mod_fcgid - 我如何确定它工作正常?

我有几个即将公开的 Perl 脚本,我想确保它们能够运行mod_fcgid,以尽可能降低服务器负载。以前,我只运行过测试 FastCGI 的脚本(即,while ( my $q = new CGI::Fast ) { $count++; echo $count;})或利用声称作为 FCGI 运行的较大 Perl 包(如 MovableType),只要您mod_fcgid正确设置 Apache 和 FastCGI/ 并将文件后缀更改为“ .fcgi”。

所以,这是我的问题:除了更改脚本的文件后缀之外,我还需要做任何事情吗?如果需要,怎么办?

0 投票
4 回答
12627 浏览

perl - 为什么我的简单 fastCGI Perl 脚本会失败?

我不属于 Perl 世界,所以其中一些对我来说是新的。我正在运行安装了 apache2 和 mod_fcgid 软件包的 Ubuntu Hardy LTS。我想让 MT4 在 fcgid 而不是 mod-cgi 下运行(它似乎可以在普通的旧 CGI 下运行)。

我似乎连一个简单的 Perl 脚本都无法在 fcgid 下运行。我创建了一个简单的“Hello World”应用程序,并包含上一个问题的代码来测试 FCGI 是否正在运行。

我将脚本命名为 HelloWorld.fcgi(当前 fcgid 设置为仅处理 .fcgi 文件)。代码:

从命令行运行时,它会打印“plain old bored ...”当通过对 apache 的 http 请求调用时,我收到 500 Internal Server 错误,并且脚本的输出会打印到 Apache 错误日志中:

当我运行相同代码的 .cgi 版本时,它运行良好。知道为什么脚本的输出会进入错误日志吗?Apache 配置是默认的 mod_fcgid 配置加上,在 VirtualHost 指令中:

0 投票
4 回答
2188 浏览

python - 共享主机上带有 FastCGI 的 CherryPy(或其他 Python 框架)

我正在尝试在 Apache 上使用 FastCGI(实际上是 fcgid)配置 Python 迷你框架 CherryPy。我在共享主机上,所以我无法访问 httpd.conf,只能访问 htaccess。我按照这些教程无济于事:

我不断收到 500 个错误,Apache 日志显示“脚本头过早结束”。我已经尝试了一切(权限/shebangs/full-paths/deamonized/not-daimonized)。我知道 Apache 正在正确执行我的 .fcgi,因为我能够从 python 打印到错误日志,但仅此而已。以前有没有人在共享主机上成功安装过 CherryPy 或任何其他框架?您的帮助将不胜感激。谢谢。

0 投票
2 回答
1719 浏览

python - 如何使用 apache 2.2 mod_fcgid 设置 python 路径

我无法为 mod_fcgid 设置 python 路径或任何其他环境变量(solaris 10,glassfish apache 2.2)

我在 apache 中设置了它,但在 fcgi 脚本中的 os.environ 中没有设置:

和其他东西(例如 ORACLE_HOME),我需要在 fcgi 脚本中访问它们。我知道我可以用它来设置 python 路径。

有没有办法从 apache 传递环境值?

0 投票
1 回答
479 浏览

python - 在不杀死 Python 服务的情况下重新加载 mod_fcgid

我目前正在使用 FCGI 在我学校的网络服务器上运行一个 Django 项目。我确实遵循了建议安装虚拟本地 Python 环境的多个指南,并且效果很好。我遇到的唯一问题是“触摸”我的 fcgi 文件以重新加载源文件是不够的,而是我不得不通过 SSH 终止 python 服务。这是因为使用了 mod_fcgid。

但是,管理员认为我运行自己的本地 python 并不是一个好主意。他认为如果我告诉他要在 root 上安装哪些模块会更好,这确实是一项非常好的服务。

但是这样做,我不能再杀死 python,因为它是在根目录下的(虽然我是不道德的,但我确实尝试过)。管理员的建议是我也应该尝试通过检查时间戳来使 fcgi 脚本自行重新加载。我试图找到有关如何执行此操作的文档,但资金很少,而且由于我是一个绝对的初学者,我不知道什么会起作用。任何人都有在 mod_fcgid 下运行 python/django 的经验或在哪里可以找到相关指南/文档的提示?

0 投票
1 回答
652 浏览

django - 无法使用 fcgi 导入自己的 django 模块

我正在学校的共享主机系统上通过 fcgi 运行 django 应用程序。最初一切正常(当我使用 index.fcgi 查看目录时会显示标准起始页),但是当我添加模块并尝试导入时,出现以下错误。当我在本地机器上运行时,相同的代码可以工作。

两个问题。一,这似乎与此相同的错误,但我无法弄清楚要添加到我的 pythonpath 中的内容。这是我的 index.fcgi 的内容。我尝试执行

但这没有帮助。

二、如何更改fcgi文件关闭标准输出和标准错误并重新打开到不同的文件?我必须让系统管理员从主日志中获取一个片段,我不能一直指望这一点。

谢谢你的帮助!

0 投票
1 回答
1220 浏览

php - 对等方连接重置:mod_fcgid:

当我尝试使用 domPHP API 在 PHP 中运行程序以在运行时创建 PDF 文件时 - 使用 Godaddy 服务器,我收到消息 - Connection Reset by peer: mod_fcgid

在我们的本地服务器以及 Dreamhost 和 Host gator 中进行相同的工作。

Godaddy 支持坚持认为这是一个编码错误,而不是服务器问题。谁能帮我?

谢谢你

萨蒂什

0 投票
2 回答
761 浏览

c++ - fastCGI 应用程序代码结构

我正在使用 Apache 2.2 + mod_fcgid 在 Linux (Ubuntu) 上使用fastCGI 开发工具包编写一个 fastCGI 应用程序。

根据该文档,fastCGI 应用程序的正确代码结构是:

  • 初始化部分,只执行一次。
  • 响应循环部分,每次调用 FastCGI 脚本时都会执行该部分。

这对我来说似乎是错误的,当然,如果有一个初始化部分,那么一定有一个“清理”部分?

如果是这样,清理部分在哪里,我如何确定清理部分被调用 - 我的意思是 fastCGI 协议中有什么东西告诉应用程序终止?

常识告诉我将清理部分放在响应循环之后 - 但这是清理的正确方法吗?

0 投票
1 回答
501 浏览

linux - Apache userdir + suEXEC + fcgid 无法识别点分隔的用户帐户

我已经使用 suEXEC、fcgid 和 userdir 设置了 Apache,以增强网站的整体安全性。

对于带有“。”的用户帐户,一切正常。他们的帐户名之间。在使用 suEXEC 和 fcgid 之前,这曾经可以工作,尽管这种做法在很多年前就已被劝阻。

例如:mydomain.com/~mytest/ 有效 mydomain.com/~my.test/ 无效

我收到的错误消息是“错误请求您的浏览器发送了此服务器无法理解的请求”。

有没有一种快速的解决方法,或者我注定要在没有任何帐户名分离的情况下重新创建所有帐户?

0 投票
3 回答
21673 浏览

php - mod_fcgid:不能为错误应用进程槽

update:只查看了长查询的缓存更新时间,它们并没有与服务器崩溃时间发生冲突。

update2:找到问题的原因。广告服务器已关闭并且服务器挂起,即使我们似乎正确设置了套接字超时。有没有办法测试超时行为?

我们有一个非常繁忙的服务器。~3K 并发连接服务器有 32GB ram 2xCPUs。我们有服务不可用错误问题。服务器没有响应 500 错误,错误日志显示数百/数千行:

我们认为这可能是配置错误或数据库连接/查询错误。一个 php 进程更新一个缓存,这是一个非常复杂的查询结果。每天两次运行 3 个单独的查询。我启用了慢查询日志。我怀疑在我们的例子中查询是否超过了 php 运行时间限制 20 秒(在以下文件中设置)。任何帮助表示赞赏。

我们使用带有 mod_fcgid 的 apache worker mpm 模型。

这是 fcgid.conf 文件:

和 /etc/apache2/conf.d/php-fcgid.conf 文件:

# php.ini <96> 的路径默认为 /etc/phpX/cgi DefaultInitEnv PHPRC=/etc/php5/cgi

Apache2 worker mpm 配置:

我们查看了此网页上的说明并加载了高级服务器配置:http: //2bits.com/articles/apache-fcgid-acceptable-performance-and-better-resource-utilization.html

update:只查看了长查询的缓存更新时间,它们并没有与服务器崩溃时间发生冲突。

update2:找到问题的原因。广告服务器已关闭并且服务器挂起,即使我们似乎正确设置了套接字超时。有没有办法测试超时行为?