标签: fastcgi

在哪里设置“PHP_FCGI_MAX_REQUESTS”(lighttpd)

我想设置最大请求以防止我的系统 RAM 在出现内存泄漏时被填满。

但我不知道它在哪里。

php fastcgi lighttpd

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

别名使用Nginx导致phpMyAdmin登录死循环

最近我一直在尝试使用 Nginx(我通常使用 Apache)来设置 Web 服务器。但是,我在尝试将 phpMyAdmin 设置为alias 时遇到了问题。别名也正确地带您进入 phpMyAdmin 登录屏幕,但是当您输入有效凭据并点击开始时,您最终会返回登录屏幕而没有错误。

对我来说听起来像是 cookie 或会话问题......但是如果我符号链接 phpMyAdmin 目录并尝试通过符号链接版本登录它工作正常!符号链接和别名都设置了相同数量的 cookie,并且两者似乎都为正确的域和路径设置了 cookie。

我的 php 别名的 Nginx 配置如下:

location ~ ^/phpmyadmin/(.*\.php)$ {
    alias /usr/share/phpMyAdmin/$1;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $request_filename;
}
Run Code Online (Sandbox Code Playgroud)
  • 我正在运行 Nginx 0.8.53
  • PHP 5.3.3
  • MySQL 5.1.47
  • phpMyAdmin 3.3.9 - 自行安装
  • 并且安装了php-mcrypt。

有没有其他人经历过这种行为?任何人都对如何解决它有任何想法?

php nginx alias fastcgi

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

通过 nginx 和 varnish 获取正确的 SERVER_PORT 到 php-fpm

目标是让 PHP 知道正确的面向 Web 的 server_port。

设置是:

nginx 在端口 443 上反向代理以在端口 80 上反向代理到端口 8008 上的 nginx 并运行 php-fpm 作为 fastcgi。

达到 80 或 443 都可以正常工作,除了 $_SERVER['SERVER_PORT'] 在 php 中默认总是显示 8008。我可以对 fastcgi_param server_port 进行硬编码,但它仅适用于 80 或 443,但不能同时适用于两者。

# default
fastcgi_param  SERVER_PORT        $server_port;
# harcode to 80
fastcgi_param  SERVER_PORT        80;
Run Code Online (Sandbox Code Playgroud)

如何获得可用于 php 的正确的面向外部的服务器端口?

nginx varnish reverse-proxy fastcgi php-fpm

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

为什么使用 php + fastcgi 将响应截断为 16k?

我已经从运行 Wordpress 博客的源代码编译了 PHP 5.3.3 和 nginx 0.8.47。Wordpress 生成的 RSS 提要在大约 16k 处被截断(包括标题为 16k+90b)。通过将以下内容添加到我的 nginx 配置中:

fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
Run Code Online (Sandbox Code Playgroud)

问题消失了.. 但是,从我在Nginx wiki 页面上阅读的内容来看,缓冲区仅确定缓冲何时会溢出到磁盘上。由于缓冲区太小,没有任何迹象表明响应可以被截断。

所以我的问题是,为什么在更改此设置之前响应会被截断?似乎请求不应该被截断,只是由于磁盘缓冲而变慢了一点。

附加信息:

  • Ubuntu 10.04.2 32 位
  • 页面大小 4k

nginx fastcgi php-fpm

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

启用 APC 导致内部服务器错误

安装并启用 APC 3.1.9(备用 PHP 缓存)后,使用pecl,我遇到了内部服务器错误。我检查了我的错误日志,这就是显示的内容。

错误日志:

PHP Fatal error:  PHP Startup: apc_mmap: mkstemp on /tmp/apc.efdb4d failed: in Unknown on line 0
[Wed Jul 06 23:47:41 2011] [error] mod_fcgid: process /var/www/cgi-bin/cgi_wrapper/cgi_wrapper(22397) exit(communication error), get unexpected signal 11
Run Code Online (Sandbox Code Playgroud)

我没有将 APC 扩展名添加到我的php.ini文件中,而是在 中创建了一个apc.ini文件/etc/php.d/,这是我当前的 APC 配置

apc.ini 配置:

; /etc/php.d/apc.ini

extension = apc.so

apc.enabled = 1
apc.shm_segments = 1
apc.shm_size = 128M
apc.optimization = 0
apc.num_files_hint = 4096
apc.ttl = 7200
apc.user_ttl = 7200
apc.gc_ttl = …
Run Code Online (Sandbox Code Playgroud)

php centos fastcgi

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

proxy_cache_ 和 fastcgi_cache 有什么区别?

我正在寻找一个简单的 Nginx 微缓存解决方案,我最终看到了两种拥有微缓存的方法。一些教程使用proxy_cache,而其他教程使用fastcgi_cache。这两种解决方案之间的区别、优缺点是什么?

谢谢!

nginx proxy cache fastcgi

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

在使用 Apache + PHP-FPM 时,如何允许用户覆盖 X-Frame-Options?

我有一台运行 Apache + PHP-FPM + FastCGI 的 Ubuntu 14.04 服务器,为用户主页提供服务。为了安全起见,我在 Apache 的配置中启用了:

Header set X-Content-Type-Options: "nosniff"
Header set X-Frame-Options: "sameorigin"
Header set X-XSS-Protection: "1; mode=block"
Run Code Online (Sandbox Code Playgroud)

AllowOverride FileInfo已设置,因此用户可以Header.htaccess需要时使用文件中的指令进行更多控制。但是,Apache 似乎不尊重在 CGI 中使用 PHP 时(当文件为 PHP 时 mod_headers 不发送标头),并且即使使用Header always.htaccess HeaderPHP 文件的命令也会被忽略。

我的下一个想法是让用户修改他们的 PHP 代码以使用PHPheader函数,以便他们可以将其设置为 X,并且setifempty只有在用户没有时我才能使用它。经过一些试验,我发现这些条目有效:

Header set X-Frame-Options: "sameorigin" env=!SCRIPT_NAME
Header always setifempty X-Frame-Options: "sameorigin" env=SCRIPT_NAME
Run Code Online (Sandbox Code Playgroud)

在没有env测试的情况下,我发现第一个命令,即使是setifempty, or merge,也会添加一个标题,因此您会X-Frame-Options …

fastcgi .htaccess http-headers php-fpm apache-2.4

5
推荐指数
0
解决办法
3381
查看次数

Nginx fastcgi_cache_valid 与 fastcgi_cache_path 的非活动状态

如果我有配置

fastcgi_cache_path /opt/nginx levels=1:2 keys_zone=TEST:100m inactive=40m;
..
fastcgi_ignore_headers Cache-Control Expires Set-Cookie;
fastcgi_cache_valid 30m;
Run Code Online (Sandbox Code Playgroud)

我的缓存会在path上面存放多久?

nginx fastcgi php-fastcgi

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

Nginx和fcgiwrap,增量输出问题

当我在 Apache 下运行 cgi 脚本时,任何输出都会快速发送到客户端。但是,当我使用 fcgiwrap 在 nginx 下运行它时,在脚本完成或产生大量输出之前,似乎没有任何内容发送到客户端。特别是在使用 git-http-backend 时,这会导致克隆大型存储库时的网关超时(并且缺乏克隆较小存储库的进度信息)。

可以使用以下脚本查看此行为。

 #!/bin/bash
 echo "Content-type: text/html"
 echo
 while :
 do
       echo this is a test.
       sleep 5
 done
Run Code Online (Sandbox Code Playgroud)

在 apache 下,客户端将每 5 秒获取一些数据。

在带有 fcgiwrap 的 nginx 下,我没有得到任何数据和网关超时。

nginx 和 fcgiwrap 是来自 Debian Jessie 的软件包。版本 1.1.0-5 和 1.6.2-5+deb8u4

所以问题

  1. 有谁知道谁对这种行为负责?nginx本身?fcgiwrap?两个都?
  2. 是否可以通过配置修复?
  3. 如果是 fcgiwrap 问题,是否有其他可用的 cgi 包装器不会遇到此问题?

nginx fastcgi cgi

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

wp nginx fastcgi 缓存 vs wp 超级缓存

我有一个 512mb 的单核服务器实例。截至目前,我有大约 3 个网站,大约有 10k 篇文章,在所有网站上我都启用了 wp 超级缓存。典型的缓存时间为 3600 秒或 7200 秒。而且 vps 实例保持得很好。它每天只会出现一次约 60% 的 cpu 峰值。

我读到,一旦一个网站达到 30k 篇文章,由于文件数量(Linux 文件系统)或类似的原因,依赖 wp 超级缓存并不是一个好的做法。

所以我想也许我应该改用 nginx fastcgi 缓存。在他们的网站中,与 wp super cache 或 w3 Total Cache 相比,他们推荐将此作为最佳实践。

考虑到内存的数量,我有可用的。你们认为 fastcgi 缓存会是我网站的更好替代方案吗?

内存缓存呢?

我的 php 7.1 启用了 opcache。

nginx cache fastcgi wordpress

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