标签: php-fpm

工作 Nginx fastcgi_cache php-fpm 缓存和静态文件缓存配置?

Nginx wiki 对如何使用 php-fpm 和 fastcgi_caching 正确设置 nginx 的解释非常模糊,用于具有 cookie 的站点,即 wordpress、drupal、vbulletin 等。

我从http://vbtechsupport.com/796/下载了一个名为 centmin 的修改过的 nginx bash shell 安装脚本,同时它安装了 nginx v1.0.2、php 5.3.6 php-fpm、mariadb 5.2.6 mysql、memcached 1.4.5 服务器并通过shell脚本自动进行siege benchmark,它缺少设置fastcgi_caching以缓存php的配置参数。

它还缺乏为本地服务的文件缓存静态文件的设置。当静态文件驻留在同一磁盘上时,对它们使用 proxy_cache 有什么意义吗?

任何人都得到了一些提示和信息链接,以阅读有关正确设置 php (php-fpm) fastcgi_caching 以及缓存本地驻留静态文件的教程?

谢谢

nginx cache php-fpm mariadb

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

PHP5-FPM 不会在 /var/run 中创建 unix socket 目录

我已经设置了php5-fpm绑定到/var/run/php5-fpm.

/etc/php5/fpm/pool.d/www.conf

listen = /var/run/php5-fpm/$pool.sock
Run Code Online (Sandbox Code Playgroud)

问题是它不会自动创建php5-fpm目录。当我重新启动机器时,目录消失了。

如何在启动时自动创建它?或者这个问题有其他解决方案吗?

php5 php-fpm

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

OSX 上的 NGINX - 执行速度非常慢

我一直在尝试在我的 OSX 10.7 Lion 计算机上启动并运行 NGINX。我让它运行但是简单的 html 页面每隔几个都需要很长时间才能加载;例如:

<html> 
  <body>
    test
  </body> 
</html>
Run Code Online (Sandbox Code Playgroud)

php 也会发生同样的事情:

<?php
  echo('hi');
?>
Run Code Online (Sandbox Code Playgroud)

如果我点击刷新,它似乎几乎在渲染和创建某种对象之前重建整个页面。只是痛苦地缓慢..

如果我进行一些编码然后返回刷新页面,这似乎是最常见的。(10-20+ 秒然后返回并刷新页面需要 4-6 秒)。似乎一旦空闲,它需要一段时间才能重新唤醒。

我正在拔头发试图了解发生了什么,希望有人可以为我阐明这一点。

系统配置:

  • 操作系统:OSX 10.7.2

  • 处理器:2 x 2.66 GHZ 双核 Intel Xeon

  • 内存:8GB 667 MHz

Nginx 版本:1.0.11

PHP 版本:5.3.9

我已经从一个干净的 OSX 格式安装了这个(我认为最初是我的错误,遗憾的是它不是)。

更新

根据 Fox 在评论中的建议更新我的 error_log 文件以包含调试后,我现在看到以下消息出现在我的 error_log 中:

2012/01/23 11:57:02 [info] 88015#0: *26 client closed prematurely connection 
while reading client request line, client: 127.0.0.1, server: sandbox.local
Run Code Online (Sandbox Code Playgroud)

更新二

在使用 chrome 检查时,我确实发现 DNS 解析似乎需要一些时间? 在此处输入图片说明

更新三 - 已解决

更新后使用两个固定的 …

nginx php-fpm osx-lion

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

连接到上游时资源暂时不可用 (php5-fpm)

当大约 +10K 连接(netstat -an |grep 80 |wc -l)时,我经常在随机页面上收到此错误。当仍有 +10GB 的可用内存且服务器负载小于 3 时,就会发生这种情况。

我的相关配置:

/etc/php5/fpm/php.ini

memory_limit = 1024M
default_socket_timeout = 120
Run Code Online (Sandbox Code Playgroud)

/etc/php5/fpm/pool.d/www.conf

pm = dynamic 
pm.max_children = 30 
pm.start_servers = 5
pm.min_spare_servers = 2 
pm.max_spare_servers = 5 
;pm.max_requests =20000 #uncommented with any value didn't fixed
request_terminate_timeout = 120s
Run Code Online (Sandbox Code Playgroud)

我还将上述 vlues(即 60 个孩子,10 个开始,10 个最大服务器)加倍,但无济于事。

/etc/nginx/nginx.conf

worker_connections 4024;
keepalive_timeout 10;
Run Code Online (Sandbox Code Playgroud)

Nginx 本身在 Varnish 和 memcached 后面是启用的。页面渲染通常非常快。

这似乎是一个很常见的问题,我找不到任何有用的解决方案,甚至无法分析可能的原因。因此,非常感谢您的提示/解决方案。

nginx php-fpm socket 502-error

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

phpMyAdmin 在 RHEL 6 上的 nginx 和 php-fpm 上有问题

我们在Red Hat Linux 6 (RHEL)上使用 nginx 和 php-fpm 设置了 Web 服务器。这台机器已经安装了 WordPress,并且运行良好。我们已将 WordPress 设置为转到wptest.domain.local。然后,我们在启用了站点的名为servername.domain.local 的站点中创建了一个新站点,我们希望在其中托管各种工具。

PHP 始终运行良好,我们对 WordPress 没有任何问题。但是当尝试访问 phpMyAdmin 时,我们收到此错误:

2012/09/14 16:22:13 [error] 10065#0: *1 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 192.168.1.15, server: servername, request: "GET /phpmyadmin/setup/ HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "servername"

这是我们网站的配置:

    server_name servername severname.domain.local;
    access_log /srv/www/severname/logs/access.log;
    error_log /srv/www/severname/logs/error.log;
    root /srv/www/severname/public_html;

    地点 / {
        index index.html index.htm index.php;
        try_files $uri $uri//index.php?q=$uri&$args;
    }

    位置 = /favicon.ico …

php nginx php-fpm

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

为什么静态与动态进程管理对 php-fpm 的内存使用影响如此之大?

我最近将一个客户端迁移到运行 Nginx + PHP-FPM 的 EC2 实例。当我第一次设置服务器时,我设置pm=static了 40 个工作进程。一周左右后,我决定尝试pm=dynamic最多 200 名工人和最少 30 名工人。

我注意到在静态设置下,40 个进程占用了大约 2.3GB 的内存,而在动态设置下,我看到 60 个进程仅使用 1.2GB 内存的峰值。

请参阅下面来自 New Relic 的图表,我的注释为红色。

比较静态与动态 pm 的新遗物记忆图表

可以看到,在 11/25 白天,我从静态更改为动态并重新启动了 php-fpm。之后我们可以看到48个进程只占用了990MB,60个进程只占用了1.2GB内存。

什么可能导致静态和动态管理之间的这种差异?难道是动态的,我将最大请求数设置为 50?也许静态内存使用更多是由于内存泄漏而不是 php-fpm 的内部问题?

php-fpm

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

PHP-FPM 服务状态“停止/等待”但工作人员正在运行?

启动 php5-fpm 似乎可以工作,但立即检查状态显示它没有运行:

[root@server ~]# service php5-fpm start
php5-fpm start/running, process 4516

[root@server ~]# service php5-fpm status
php5-fpm stop/waiting
Run Code Online (Sandbox Code Playgroud)

即使我能够加载 PHP 页面(意味着 PHP-FPM 必须正在运行),状态有时也会报告为stop/waiting.

看来,有正在运行的进程,但这些只是工作进程?

ps -aux |grep php
www-data  3552  0.0  0.7 338108 14960 ?        S    05:43   0:00 php-fpm: pool www                                                       
www-data  3553  0.0  1.3 338168 27156 ?        S    05:43   0:00 php-fpm: pool www                                                       
www-data  3554  0.0  1.1 337948 23020 ?        S    05:43   0:00 php-fpm: pool www                                                       
www-data  3555  0.0  1.0 334108 20644 ?        S …
Run Code Online (Sandbox Code Playgroud)

php-fpm start-stop-daemon ubuntu-14.04

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

php-fpm 套接字的 SElinux 标签

我正在尝试设置 php-fpm 的多个实例,以通过在 centos 6.5 上运行的 apache 2.2 运行多个版本的 php。

在未来的某个时候,这将最终出现在共享托管环境中,因此我需要尽可能严格的安全性。

因此,我试图避免完全禁用 selinux,并尝试将策略设置得尽可能窄。

我对 selinux 比较陌生(我们现有的服务器只是将其禁用)。我已经对这个主题进行了大量阅读,但逻辑仍然无法理解(正如我确定这个问题所显示的那样)。

调用 php-script apache 时会产生此错误:

[Sun May 18 10:46:17 2014] [error] [client 192.168.163.1] (13)Permission denied: FastCGI: failed to connect to server "/fcgi-bin-php5-fpm-i10000_test-1.testtest.org": connect() failed
[Sun May 18 10:46:17 2014] [error] [client 192.168.163.1] FastCGI: incomplete headers (0 bytes) received from server "/fcgi-bin-php5-fpm-i10000_test-1.testtest.org"
Run Code Online (Sandbox Code Playgroud)

包含 php-fpm 套接字的目录如下所示:

drwxr-xr-x. root   root   system_u:object_r:var_run_t:s0   .
drwxr-xr-x. root   root   system_u:object_r:var_run_t:s0   ..
srw-------. apache apache unconfined_u:object_r:var_run_t:s0 apache_default.sock
srw-------. apache apache unconfined_u:object_r:var_run_t:s0 i10000_test-1.testtest.org.sock
srw-------. …
Run Code Online (Sandbox Code Playgroud)

selinux php-fpm socket apache-2.2 centos6.5

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

为什么php-fpm 以nobody 身份运行?

我最近按照以下说明在我的服务器上安装了 php-fpm(CENTOS 6.5 x86_64 标准,WHM 11.44.1(build 7)):http : //infoliser.com/how-to-configure-apache-2-2-with -php-fpm-using-whm-cpanel-and-easyapache/

服务器 API,正如所揭示的 phpinfo(),现在是 FPM/FastCGI。

但是,当我运行包含 的 php 脚本时exec('id'),我得到:

uid=99(nobody) gid=99(nobody) groups=99(nobody)

我的印象是 php-fpm 将作为 php 脚本所有者的 uid 运行,而不是作为 http 进程的所有者(如本例)。这个页面http://php-fpm.org/说 fpm 具有“能够以不同的 uid/gid/chroot/environment 和不同的 php.ini(替换 safe_mode)启动工人”。

我究竟做错了什么?

php-fpm nobody

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

PHP FPM 一直挂着

我尝试了各种选择,但每隔几天(主要是每天)FPM 就会停止提供页面,并且我收到 502(来自 cherokee 网络服务器)

日志中填充了以下内容:

[15-Sep-2014 10:17:46] WARNING: [pool www] child 10135 exited on signal 11 (SIGSEGV - core dumped) after 15.512406 seconds from start
[15-Sep-2014 10:17:46] NOTICE: [pool www] child 10138 started
[15-Sep-2014 10:18:02] WARNING: [pool www] child 10138 exited on signal 11 (SIGSEGV - core dumped) after 15.657950 seconds from start
[15-Sep-2014 10:18:02] NOTICE: [pool www] child 10166 started
[15-Sep-2014 10:18:20] WARNING: [pool www] child 10212 exited on signal 11 (SIGSEGV - core dumped) after 10.192596 seconds …
Run Code Online (Sandbox Code Playgroud)

php-fpm

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