标签: fastcgi

lighttpd、ngingx、fastcgi、静态内容,它们是什么,什么时候需要它们

我正在开发一个需要每秒更新页面的 Web 应用程序。你可以想象一个有股票的网站,其中的数据必须实时更新。

背景

对于这个实时更新,我使用了 jquery 插件 Ajax。我的数据库是带有 innoDB 表的 mysql,应用程序本身是用 php 编写的。

浏览器中的 Ajax 脚本每秒运行一次,这只是一次读取。要使用其他值更新数据库,有一个每分钟执行一次的 cronjob,它执行每秒运行一次的 php 脚本。此脚本执行读取和写入操作。

此外,用户进行读写操作。有很多事情正在发生。

现在我对这种大型应用程序还很陌生,有些术语让我很困惑,我不知道我的设置是否错误。

我现在的设置是这样的:

我有一个专用服务器,运行 centos 和 plesk 并行面板。服务器正在运行 apache,带有 php 和 mysql 数据库。

现在这里列出了让我感到困惑的事情。我已经阅读了这些条款,但我不明白它们的真正作用以及如何从中受益。

1)首先是lighttpd和ngingx。它们是像 apache 这样的 http 服务器,还是其他东西。如果它们是 http 服务器,它们是否容易从 apache 切换到。

2)什么是FastCGI和CGI。他们是喜欢 php,还是其他的东西。使用 PHP 有什么好处吗,它们是否易于切换。

3)我想知道的最后一件事是关于静态内容交付。如果我想从另一个域传送我的静态内容,我是否需要一个单独的服务器,或者我可以在 PLESK 中配置它。

对不起,所有菜鸟问题的家伙,但我真的很感激在这些主题上的一些帮助。

nginx fastcgi lighttpd static-content

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

将任意 http 请求标头传递给 nginx,然后传递给 php

我有这个在 nginx 和 fastcgi(php-fpm) 上运行的 Web 服务。某些嵌入式 http 客户端使用该 Web 服务,这些客户端在使用该服务时需要发送一些任意的 http 请求标头。例如:

CLIENT_ID: client1
CLIENT_AUTH_TOKEN: d84ldx
Run Code Online (Sandbox Code Playgroud)

或类似的东西。

我不确定这种请求到达时是否会被 nginx 捕获。如果是这样,nginx 将如何存储额外 HTTP 标头的值?以及如何告诉 nginx 将参数传递给 php?

我已经试过把

fastcgi_param CLIETN_ID $client_id 
Run Code Online (Sandbox Code Playgroud)

进入 conf/fastcgi_params 配置文件,我想这将有助于 nginx 将 CLIENT_ID 中的内容存储为 $client_id 参数。我也放

fastcgi_param CLIENT_ID $client_id
Run Code Online (Sandbox Code Playgroud)

只是为了获取 $client_id 中存储的内容并将其作为键控的“CLIENT_ID”传递给 php,因此 php 可以使用 $_SERVER['CLIENT_ID'] 访问它。

不幸的是,以上没有奏效。当我做

nginx -t 
Run Code Online (Sandbox Code Playgroud)

我收到错误“未知参数 client_id”。我在哪里弄错了,如何解决?

谢谢你。

nginx fastcgi

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

Python 应用服务器和 Web 服务器共存?

我有一个站点 example.com,它运行在一个“正常”的 Web 服务器上,即目前的 Apache,但希望在未来寻找一个不太占用 RAM 的替代方案,所以我不想在 apache 上使用 mod_WSGI。

很快,我将寻求部署一个用完 python 应用程序服务器的 Web 应用程序。我希望这能回答对 example.com/reallycoolpythonwebapp/ 的所有请求,而 Web 服务器负责其余部分。

这样的架构是如何创建的?我是否希望指向相关在线文档的指针表示赞赏。

python web-server fastcgi wsgi apache-2.2

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

使用 PHP FastCGI 进行 Varnish / 更改 FastCGI 服务器端口

我想使用 Varnish Cache 运行 Magento。到目前为止,我的 PHP 运行为 FastCGI。我现在正在尝试设置 Varnish。还有一个可能非常愚蠢的问题。

因此,据我了解,Varnish 将侦听端口 80 并获取我的网络服务器中缺少的任何内容,该服务器应该在端口 8080 上运行(或我想要的任何端口)。就我而言,这是 FastCGI。

那么如何更改 FastCGI 运行的端口呢?或者我错过了什么/误解了一切?

谢谢!

php cache varnish fastcgi

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

Fedora fastcgi 上的 nginx 无法正常工作

我在 Fedora Server 22 上运行 nginx 并且 fastcgi 脚本不起作用。

http://panel.minefight.org/ 下输入任何登录数据,它不会加载密码失败或成功站点。其他登录表单也会发生同样的事情。服务器没有重定向用户,我不知道如何解决这个问题。我希望这个例子容易理解。

testpage 说,fastcgi 正在运行并与 nginx 连接。

php-fpm.conf

upstream php-fpm {
    server unix:/run/php-fpm/www.sock;
}
Run Code Online (Sandbox Code Playgroud)

php.conf

index index.php index.html index.htm;

location ~ \.php$ {
try_files $uri =404;
fastcgi_intercept_errors on;
fastcgi_index  index.php;
include        fastcgi_params;
fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
fastcgi_pass   php-fpm;
}
Run Code Online (Sandbox Code Playgroud)

错误日志包含以下内容(尝试登录游戏面板时):

    2015/05/30 22:15:57 [error] 1911#0: *1 FastCGI sent in stderr: "PHP    message: PHP Deprecated:  mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli …
Run Code Online (Sandbox Code Playgroud)

php nginx fedora centos fastcgi

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

CentOS 7 apache2 httpd + mod_fastcgi 无法安装

有人试过在 CentOS7/httpd 上安装 mod_fastcgi 吗?

由于它不在 epel 或 fusion 存储库中,我尝试了 el6 rpm,它不起作用(httpd 说:无法将模块/mod_fastcgi.so 加载到服务器中:/etc/httpd/modules/mod_fastcgi.so:未定义符号:unixd_config )。

从源代码编译 mod_fastcgi (# make top_dir=/usr/lib64/httpd) 也失败了,出现了数千个这样的错误:

/usr/include/httpd/http_config.h:574:32: error: request for member 'connection' in something not a structure or union

mod_fastcgi.c:2881:5: warning: passing argument 6 of 'ap_log_rerror_' from incompatible pointer type [enabled by default]
     ap_log_rerror(FCGI_LOG_ERR_NOERRNO, r, "FastCGI: access denied: %s", r->uri);
Run Code Online (Sandbox Code Playgroud)

SELINUX 已被禁用(以排除“拒绝访问”的原因)

我还安装了编译fastcgi的要求:httpd-devel libtool make gcc apr apr-devel。

由于 mod_fastcgi 恕我直言是连接到 PHP-FPM 的常用方法,我真的无法想象 fastcgi 不适用于 CentOS 7,所以我认为我做错了什么。

不幸的是,mod_proxy 对套接字连接的支持从 httpd 2.4.10 开始,而 CentOS 7 存储库只有 …

httpd fastcgi mod-fastcgi centos7

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

您如何设置 PHP 以用户身份作为 CGI 运行?

尝试了很多示例,但似乎没有任何效果。我不想使用 yum/apt-get 我想从源头做所有事情,这样我才能更好地理解。Yum/apt-get 只是欺骗系统,您必须等待版本,而且您没有配置控制。

php fastcgi php-fpm suexec apache-2.2

-3
推荐指数
1
解决办法
216
查看次数