标签: fastcgi

确保进程始终运行

不久前,我开始使用 Cherokee 托管网站。对于外部源(FastCGI 等),如果找不到在指定套接字或端口上运行的进程,它可以选择启动进程。这很棒,因为这意味着如果 PHP 或 Django 站点发生故障(它们偶尔会发生故障),它会自动重新启动。

在使用 PHP-FPM 的新服务器上,我无法使用 Cherokee(它有一个 PHP 错误),因此我已转移到 NGINX。我真的很喜欢 NGINX(因为它的配置风格),但是我遇到了进程崩溃并且永远不会重生的严重问题。PHP 有时会这样做,但 Django 站点更像是一个问题。我已经为它们创建了 init 脚本,它们在启动时出现,但是如果它们在重新启动之间出现故障,这对我没有帮助。

我想我正在寻找 FastCGI 代理。像切诺基这样的东西,知道哪些进程应该在哪些套接字/端口上运行并按需重新生成它们。这样的事情存在吗?有没有办法将它构建到 NGINX 中(为了便于配置)?

fastcgi monitoring process-management

28
推荐指数
3
解决办法
5万
查看次数

用于 C#/Mono 的 FastCGI 库

我想用 C# 编写几个 fastcgi 应用程序。

我知道 Mono 可以在支持 fastcgi 的 Web 服务器上运行 ASP.NET,但这不是我需要的。

是否有任何适用于 .NET/Mono 的 FastCGI 库?

mono fastcgi

10
推荐指数
1
解决办法
1415
查看次数

FreeBSD 上的 Nginx:fcgiwrap.sock 权限被拒绝

我正在尝试在 FreeBSD 上设置 nginx 和 cgit,但 nginx 无法访问/var/run/fcgiwrap/fcgiwrap.sock.

在我的/etc/rc.confI 中fcgiwrap_user="www",我已经设置了,www也是 nginx 运行的用户。

当我由表演fcgiwrap.sock拥有时,一切都按我想要的方式工作。wwwchown www /var/run/fcgiwrap/fcgiwrap.sock

然而,这当然不是正确的方法,它只会持续到重新启动。

我假设设置fcgiwrap_user="www"也会决定这一点。

我错过了什么吗?

更新:

我注意到当我使用service fcgiwrap startor 时restart,消息Starting fcgiwrap后面跟着chmod: /var/run/fcgiwrap/fcgiwrap.sock: No such file or directory. 然而/var/run/fcgiwrap/fcgiwrap.sock之后确实存在。

freebsd fastcgi configuration nginx socket

2
推荐指数
1
解决办法
2474
查看次数

php/nginx 权限错误,不使用 www-data

- 编辑 - 更奇怪的是我是否chmod 777 /var/run/php-fastcgi/php-fastcgi.socket有效。如果它不是 www-data, php-www ( 也不是 root ) 那么用户试图访问套接字:|

-edit2- 我添加chown www-data:$FASTCGI_GROUP $SOCKET到下面脚本的末尾(就在 之后spawn-fcgi)并解决了问题,但我很困惑,www-data 在 php-www 组中。为什么必须是所有者。我没有将 FASTCGI_USER 改回 www-data bc 它会破坏目的(它会允许 PHP 文件以 www-data 的形式访问我的所有文件,这是我不想要的)

基本上我想做的是让 PHP 进程不是 www-data,所以如果它受到损害,它的损害仅限于我拥有的极少数 PHP 站点。我所做的是创建用户 php-www 并将其组添加到 www-data。当我以 www-data 身份登录时,我可以访问 php-www 中的所有内容,但是 php-www 只能访问我的 PHP 站点。完美的。

我运行了 php+nginx。但是如何改变它给了我一个问题。我在 init.d 脚本中看到了 www-data 提及,该脚本更改了文件夹的所有权。很好,我把它改成了php-www。那不是问题。

问题是生成脚本。

#!/bin/bash

FASTCGI_USER=php-www
FASTCGI_GROUP=php-www
SOCKET=/var/run/php-fastcgi/php-fastcgi.socket
PIDFILE=/var/run/php-fastcgi/php-fastcgi.pid
CHILDREN=6
PHP5=/usr/bin/php5-cgi

/usr/bin/spawn-fcgi -s $SOCKET -P $PIDFILE -C $CHILDREN -u $FASTCGI_USER -g $FASTCGI_GROUP -f $PHP5 …
Run Code Online (Sandbox Code Playgroud)

fastcgi permissions nginx

0
推荐指数
1
解决办法
2万
查看次数