Articles of php fpm

Nginx或php-fpm错误?

我发现我的vps nginx错误日志是这样的 2013/04/06 03:28:04 [alert] 8557#0: mmap(MAP_ANON|MAP_SHARED, 5242880000) failed (12: Cannot allocate memory) 2013/04/06 04:05:30 [alert] 10299#0: mmap(MAP_ANON|MAP_SHARED, 5242880000) failed (12: Cannot allocate memory) 2013/04/06 04:05:58 [alert] 10786#0: mmap(MAP_ANON|MAP_SHARED, 5242880000) failed (12: Cannot allocate memory) 是什么造成的? 公羊约16GB 问候

低FPM资源和Drupal

我们使用nginx + php-fpm托pipe10个网站(大部分使用Drupal 6或Drupal 7)。 我们的VPS是低端的(只有1GB内存,64位操作系统和有限的CPU)。 游客的数量是中等到低的,但是其中很多的同时stream量足够超时。 1)在这种情况下使用php-fpm是正确的,还是回到Apache和mod_php会更好? 2)为每个站点保留一个fpm池是更好的,还是在这种极端情况下,对于许多站点使用一个池会有什么不同? (除了安全问题) 3)是否有计算“pm.max_children”,“pm.start_servers”,“pm.min_spare_servers”,“pm.max_spare_servers”和APC设置(使用Ubuntu 12.04 LTS下的默认设置启用)的最佳值的公式? 一般来说,任何关于以低资源运行php-fpm的build议都将不胜感激。

使用php5-fpm作为user:user运行Apache的安全含义

我只是设置VPS来运行Apache的php5-fpm,它被设置为以user:user身份运行每个用户池。 原因很简单,就是允许用户真正拥有自己的文件,而不是由www-data拥有自己的文件。 这些内容不能被这些用户改变/删除。 php5-fpm似乎为我解决了这个问题。 如果有的话,这种设置的安全含义是什么?

是否有可能显示110的自定义错误页面:连接超时?

我们在我们的nginx日志中看到以下错误。 这个错误是有据可查的,但我们还没有弄清楚是什么原因造成的。 同时 ,发生此错误时是否可以显示自定义错误页面? 以同样的方式,我们可以有HTTP 500错误的error_page指令。 7252#0: *2711 upstream timed out (110: Connection timed out) while connecting to upstream, client: xxxx, server: domain.com, request: "GET /a_page.php?etc…. HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "thehost.com", referrer: "http://thereferrer.com/"

Linux bash:由非root用户使用PHP以非root用户身份运行脚本

我有一个由“tom”拥有的PHP脚本(使用PHP-FPM运行)。 “tom”想运行脚本/srv/helloworld.sh作为另一个用户“jerry”。 “tom”有权在服务器上运行脚本(所以他可以使用ex。system())。 多么短,“汤姆”想知道如何做到这一点。 “汤姆”拿了一些文章: sudo su -c /srv/helloworld.sh jerry 但主要的问题是,脚本要求input密码,而且您知道(如果我没有弄错),则无法在Web界面中input密码。 我很好奇这个话题,如果你能帮助我,我会很高兴。 提前致谢!

重写后,nginx不使用php-fastcgi

我有一个nginx重写的麻烦。 我想重写^(.*?)/(.*?)/?$到controllers/$1.php?action=$2 。 这在早些时候在Apache服务器上工作。 之后,我想把这个文件路由到php-fastcgi。 对于一个正常的请求(即当我input完整path,而不使用重写),php-fastcgi正常工作。 我的configuration: server { listen [::]:80; root /var/www/my-dir; index index.php index.html index.htm; charset utf-8; server_name my-domain; location / { autoindex off; rewrite ^(.*?)/(.*?)/?$ controllers/$1.php?action=$2 last; } location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; } location ~ /\. { deny all; } } 编辑完这个configuration之后,我做了一个service nginx restart […]

编译php时PHP-FPM conf位置选项

我从源代码编译PHP。 我想设置PHP-FPM查找它的configuration文件的位置。 显然这个选项应该通过configuration选项来设置: –with-fpm-conf=/etc/php/php-fpm.conf 根据http://php-fpm.org/wiki/Configuration_File 但是,在PHP5.5.0上使用此选项会导致错误configure: WARNING: unrecognized options: –with-fpm-conf 在从源代码编译时,如何设置PHP-FPM应该在哪里查找conf文件?

nginx repomd.xml 404找不到

我按照http://wiki.nginx.org/Install中的规定设置了nginx存储库 [nginx] name=nginx repo baseurl=http://nginx.org/packages/rhel/$releasever/$basearch/ gpgcheck=0 enabled=1 当我尝试安装php-fpm时,出现以下错误 http://nginx.org/packages/rhel/6Server/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 – "The requested URL returned error: 404 Not Found" Trying other mirror. Error: Cannot retrieve repository metadata (repomd.xml) for repository: nginx. Please verify its path and try again 什么是我可以替代的另一个稳定的baseurl?

优化nginx / php-fpm / postrgresql

我有: CPU E5-2407(quadcore Xeon 2.2GHz) DDR3内存16GB RAID1 Intel520 SSD 240GB 我自制的应用程序在7个页面上使用永久的PG连接(一个由客户作为API调用,另一个由具有10s计时器的CURL bash循环调用)+网站。 在API页面上,每天的通话量将达到100万次(现在大概是每天1000次)。 API页面angular色只是将数据插入到表中,然后由循环处理来处理。 我会用一个C程序在一个月内更改bash循环,所以API页面将是唯一使用nginx调用的(除了网站,但与API相比,它将是一个非常小的体积)。 你会推荐nginx / PG / FPM的进程/subprocess/caching/缓冲区的设置? 谢谢 :)

一个用于所有php-fpm池的unix套接字

我只想为所有php-fpm池设置一个监听unix套接字,但是fpm要求它们不同。 生产服务器有2GB内存,我注意到内存不足,增加了更多的网站产生更多的进程。 我是这台服务器上唯一的用户,所以我不需要限制每个池的资源只是想设置所有的通用configuration设置。 一个域池如下: [domain.com] user = www group = www listen = /tmp/domain.com-php-fpm.sock security.limit_extensions = .php .html ;Resources pm = dynamic pm.max_children = 9 pm.start_servers = 3 pm.min_spare_servers = 2 pm.max_spare_servers = 4 pm.process_idle_timeout = 60s request_terminate_timeout = 30s pm.max_requests = 300 ;Log errors catch_workers_output = yes php_flag[display_errors] = on php_admin_value[error_log] = /var/log/www/domain.com/php-error.log ;Base […]