我尝试了以下命令来检查单个PHP-FPM进程的平均内存使用情况 ps –no-headers -o "rss,cmd" -C php-fpm | awk '{ sum+=$1 } END { printf ("%d%s\n", sum/NR/1024,"M") }' 我得到了一个错误awk: cmd. line:1: fatal: division by zero attempted awk: cmd. line:1: fatal: division by zero attempted 而这个命令 total=0; for i in `ps -C php-fpm -o rss=`; do total=$(($total+$i)); done; echo "Memory usage: $total kb"; Memory usage: 0 […]
这是我的第一个nginx。 对于我的新服务器上的所有网站,似乎有一次nginx已经服务了一些stream量,它开始服务“ 错误502 – 错误的网关! ”。 让我们来看看一些日志和configuration… 操作系统 :Ubuntu 16.04(服务器) 硬件 :6核心,12GB内存 面板 :ISPConfig nginx版本 :1.10.3 /var/www/example/log/error.log : : Resource temporarily unavailable) while connecting to upstream, client: 216.170.123.179, server: example.com, request: "GET /KHFxygk9 HTTP/1.1", upstream: "fastcgi://unix:/var/lib/php7.0-fpm/web3.sock:", host: "example.com", referrer: "http://example.com/" 2017/08/10 06:01:06 [error] 15408#15408: *31372 connect() to unix:/var/lib/php7.0-fpm/web3.sock failed (11: Resource temporarily unavailable) while connecting […]
我用nginx在Debian上安装了PHP5-FPM。 当我尝试打开一个PHP页面,然后我得到Error 502 Bag Gateway 。 我发现,这是因为我使用的sockets,看起来没有正确configuration。 我试图解决它通过应用不同的设置,但无法解决这个问题。 如果我改变套接字到127.0.0.1:9000然后它工作正常。 你可以请检查以下configuration,并告诉我我做错了什么? pool.d / sf.conf user = sf group = sf listen = /var/run/php5-fpm-sf.sock listen.owner = sf listen.group = sf 下午=dynamic pm.max_children = 5 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3 chdir = / 在上面的文件中,我使用/var/run/php5-fpm-sf.sock因为/var/run/php5-fpm.sock已经被pool.d/www.conf php5-fpm-sf.sock权限 srw-rw-rw- 1 sf sf 0 Aug 10 12:21 /var/run/php5-fpm-sf.sock […]
PHP FPM与Apache和mod_fastcgi相结合,我有一个非常奇怪的问题。 每当请求PHP文件时,Apache都会将Content-Language: de到响应头文件中。 对于我的生活,我无法弄清楚为什么会发生这种事情! 我使用Ubuntu 16.04,我的Apache版本是2.4.18。 我的PHP FPM是一个自定义的版本。 我正在使用下面的configuration来处理PHP文件: <FilesMatch ".+\.php$"> SetHandler php-fcgi </FilesMatch> Action php-fcgi /php-fcgi Alias /php-fcgi /foo.fcgi FastCgiExternalServer /foo.fcgi -socket /bar.sock -pass-header Authorization 启用了以下Apache模块:actions,alias,autoindex,dir,env,fastcgi,filter,headers,mime,negotiation和setenvif。 模块configuration保持不变。 据我所知,没有DefaultLanguage集合。 任何想法的标题来自哪里,我可以如何删除它? 编辑 当请求一个普通的.html文件时,会发送以下标题:Date,Server,Connection,Keep-Alive,ETag。 当请求<?php exit('Hello World');的PHP文件时<?php exit('Hello World'); ,将发送以下标题:date,服务器,Vary,内容编码,保持活动,连接,传输编码,内容types,内容语言。 我不明白为什么PHP会添加Content-Language: de ,特别是因为这个服务器上的所有软件都是英文的。
我有一个站点使用标准的nginx方法来通过/index.php指导stream量而不pipeurl如何: location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_index index.php; include fastcgi_params; } 但是我想为一个特定的URL使用一个不同的php-fpm池(但是仍然通过/index.php)。 我可以,我想,在.php $位置块中使用“if”子句,以根据URL使用不同的fastcgi_pass,但不鼓励“if”,所以还有其他方法吗?
我使用Nginx / PHP-FPM运行CentOS 7。 为了debugging一些缓慢的Wordpress和CodeIgniter请求,我在www-pool.conf激活了PHP-FPM的慢日志function: slowlog = /var/log/php-fpm/www-slow.log request_slowlog_timeout = 4s 缓慢的请求正在被logging,但有意义的堆栈跟踪不会打印到www-slow.log 。 该文件正在生成,但是为空,默认的error.log显示这样的条目: [12-Nov-2017 16:50:26] WARNING: [pool www] child 21497, script '/usr/share/nginx/www/wordpress/index.php' (request: "GET /index.php") executing too slow (4.161874 sec), logging [12-Nov-2017 16:50:26] ERROR: failed to ptrace(ATTACH) child 21491: Operation not permitted (1) [12-Nov-2017 16:50:26] WARNING: [pool www] child 21491, script '/usr/share/nginx/www/wordpress/index.php' (request: "GET […]
对HAProxy实例的所有请求中,将近有四分之一会发生503错误,尽pipe两个后端服务器是完全正常的,并且对各个服务器的重复检查完全不会返回任何错误。 PHP 5.3 FPM,Nginx,Ubuntu 10.10,HAProxy 1.4.8 以下是我的haproxy.cfg: global log 127.0.0.1 local0 log 127.0.0.1 local1 notice #log loghost local0 info maxconn 4096 #chroot /usr/share/haproxy user haproxy group haproxy daemon #debug #quiet defaults http log global mode http option httplog option dontlognull retries 3 option redispatch maxconn 2000 contimeout 5000 clitimeout 50000 srvtimeout 50000 errorfile 400 /etc/haproxy/errors/400.htm […]
每当我从我的VPS打开phpMyAdmin,我得到以下错误: 无法启动会话没有错误,请检查您的PHP和/或Web服务器日志文件中给出的错误,并正确configuration您的PHP安装。 我已经研究过,但似乎找不到解决办法,我做了以下几点: 清除caching和Cookie 检查了php.ini(见下文) 检查日志(发现没有任何相关的) 给定正确的权限。 [由sudo chown -R root:nginx /home/humza/pma ] 我运行PHP-FPM的Nginx,我有php-mysql和所有工作正常,但我不能让phpMyAdmin工作。 我把它从phpMyAdmin的网站上下载下来并解压,就这些了。 http://pastebin.com/raw.php?i=6n57cW8H – 我的php.ini会话位 http://pastebin.com/raw.php?i=VaNP2TLi – 我的整个php.ini 我的日志没有任何相关的。 我的错误日志有其他的PHP错误,但不是这个,我的访问日志也没有任何东西。 我检查了我的nginx日志和我的PHP-FPM日志。 我尝试通过yum安装phpMyAdmin,并得到了大量的依赖性错误。 [root@infinity ~]# yum install phpmyadmin Setting up Install Process Resolving Dependencies –> Running transaction check —> Package phpMyAdmin.noarch 0:2.11.11.3-1.el5 set to be updated –> Processing Dependency: php-mcrypt >= 4.1.0 for […]
如果我只有PHP-FPM(前面有其他Nginx服务器)有一打“工作”服务器,是否可以设置PHP来将用户上传的文件存储在不同的服务器上? 我正在寻求避免同步每个“工作”服务器上的用户文件。 我想保持用户上传的文件在一个孤立的服务器上。 对于需要公众访问的文件,可以通过CDN进行分发。 我有几个想要这样做的原因: 1)所有上传文件的总和文件大小为几GB。 其中99%是jpg / png / pdf,但其中有成千上万。 如果我添加另一个“工作”服务器,我宁愿不将这些文件同步到另一台服务器。 这些“工作”服务器应该只包含应用程序代码并完成工作。 2)从安全angular度来看,我不希望用户上传这些服务器上的文件。 所以我基本上想避免在“Work”服务器的硬盘上写这些文件。 我有什么select,如果有的话?
目前我正在运行nginx 1.0.11和PHP-FPM。 每个站点都有自己的用户/组,并在/srv/www/…有其主目录。 我有PHP-FPM池作为站点的用户和组在单独的端口上运行(9001为站点1,9002为站点2 …)。 这是否有助于安全? nginx以www-data:www-data的forms运行。 目前,如果我在site1 (/srv/www/site1.com/www/public_html/script.php)有一个PHP脚本,我可以这样做, include $_SERVER['DOCUMENT_ROOT'] . "/../../../site2.com/www/public_html/index.html"; include $_SERVER['DOCUMENT_ROOT'] . "/../../../site2.com/www/public_html/index.html"; 并阅读该网站的文件。 我怎样才能防止这个? 我看着chroot但每个网站的主目录都符号链接到/dotfiles ,我需要保持,我假设nginx将需要访问日志在/var/logs/nginx/…