我在Ubuntu 16.0.4上设置了nginx和php7.0-fpm 。 我之前没有使用nginx和php7.0-fpm组合,所以我遵循一些指南。 我find的指南都build议在php7.0-fpm的www.conf文件中添加下面的configuration选项 emergency_restart_threshold = 10 emergency_restart_interval = 20s (这些值暂时只是占位符) 问题是,当我尝试重新启动php7.0-fpm后添加这些选项,它无法启动以下错误,暗示这些选项不再有效。 ERROR: [/etc/php/7.0/fpm/pool.d/www.conf:414] unknown entry 'emergency_restart_threshold' 这些选项是否仍然以某种forms存在,如果有的话,他们改变了什么? 如果他们不让php7.0-fpm自动重启的话。
Nginx与PHP的FPM – 资源暂时不可用 – 502错误 我正在使用一些代码来发送超过160 GET请求asynchronous使用curl到我的API,这是在Ubuntu服务器16.04运行Nginx的Php-fpm。 每个请求在将其作为JSON响应返回之前,从数据库中提取不同的数据select。 这个请求的数量足够小,我相信它不应该达到各种默认限制(套接字连接数,文件描述符等)。 然而,他们全部被发送/同时收到的事实似乎是造成问题。 绝大多数请求都会成功 ,但是一对(连续testing中一致的号码,但根据configuration不同)会得到一个“502错误的网关”响应。 如果我看看nginx错误日志( /var/log/nginx/error.log ),我看到这些错误消息: 2017/11/21 09:46:43 [error] 29#29: *144 connect() to unix:/run/php/php7.0-fpm.sock failed (11: Resource temporarily unavailable) while connecting to upstream, client: 192.168.3.7, server: , request: "GET /1.0/xxx HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.0-fpm.sock:", host: "my.domain.org" 日志中的“502错误网关”错误消息的数目总是与我从API收到的完全一样。 同时,在执行testing期间( tail -100f /var/log/php7.0-fpm.log )观察fpm日志文件时,没有任何反应。 它只是有以下几点: [21-Nov-2017 11:54:29] NOTICE: fpm […]
我很难尝试在Bluehost VPS服务器中将用户“nobody”更改为“www-data”。 它非常混乱。 我不知道为什么他们有一个初始的“nobody”用户运行Apache,因为这可以通过networking服务器公开文件。 所以看起来Apache是好的,但我无法让PHP工作。 所以我采取的步骤是: 1)创build一个用户www-data; 2)将apache config /etc/apache2/conf/httpd.conf中的用户和组更改为www-data; 在conf里面也改变了一些指令给SUPHP。 3)更改了configuration文件/var/cpanel/php-fpm.d/socieda5.conf以更改用户和组。 4)更改了服务器根目录上的文件权限:我做了一些修改,没有解决。 我将用户和组更改为/ home / myuser / public_html(VPS中的服务器根文件夹)下的文件夹中的www-data。 我也尝试了一些使用我的用户作为所有者的其他更改。 apache日志说:权限被拒绝:[client 187.10.14.3:46744]无法创buildsubprocess:/ usr / sbin / suphp for /home/socieda5/public_html/index.php 我找不到重启php-fpm的方法。 我已经达到了bluehost支持和cpanel文档,但没有提供的信息是值得解决的问题。 所以我重新启动了服务器。 但是我得到了同样的错误。 任何有Bluehost VPS经验的人都可以帮助我呢? 非常感谢!!!
我在nginx日志中收到这样的消息。 而且有这样的错误的请求在浏览器(504响应)中立即终止,不需要任何长时间的操 2017/11/24 09:20:53 [error] 175829#175829: *13282 upstream timed out (110: Connection timed out) while reading response header from upstream 直接打开php-fpm池configuration中的访问日志后,发现请求不是由php-fpm处理的(它们根本不在日志文件中) nginx的: server { listen 80; server_name example.com; access_log /var/www/example.com/access.log; error_log /var/www/example.com/error.log error; client_max_body_size 10m; location / { root /var/www/example.com/public; index index.php; try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { root /var/www/example.com/public; try_files $uri […]
我正在尝试使用PHP 5.3.1和CentOS 5.4的PHP-FPM 0.6进行RPM。 到目前为止,它进行得非常顺利,但是当rpmbuild进入安装阶段时,它会失败,并显示以下错误: Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.63379 + umask 022 + cd /usr/src/redhat/BUILD + cd /usr/src/redhat/BUILD/php-5.3.1/fpm-build/ + make install Installing PHP SAPI module: fpm Installing PHP CLI binary: /usr/bin/ cp: cannot create regular file `/usr/bin/#INST@12668#': Permission denied make: *** [install-cli] Error 1 error: Bad exit status from /var/tmp/rpm-tmp.63379 (%install) RPM build errors: Bad […]
当我开始我的debian框,php5-fpm说,它是无法启动。 当我检查日志说,端口900被采取。 但是,这不可能是因为在9000端口上没有别的东西了。而最奇怪的是,它说它没有启动后,PHP正在运行… 包php5-fpm是从dotdeb回购。 有谁知道如何解决这一问题 ?
我有一个带有Nginx(0.7.65)和php5-fpm( 由Brian Mercer包装 )的Ubuntu Lucid服务器, 我所有的configuration是默认的,我的网站configuration是这样的(取代了域): server { listen 80; server_name sub.example.com; access_log /data/log/www/sub.example.com/access.log; error_log /data/log/www/sub.example.com/error.log; location / { root /data/www_data/sub.example.com/public; index index.php; } location ~ \.php$ { fastcgi_param SCRIPT_FILENAME /data/www_data/sub.example.com/public$fastcgi_script_name; fastcgi_pass 127.0.0.1:9000; include /etc/nginx/fastcgi_params; } } 我有一个index.php与<?php phpinfo(); ?> <?php phpinfo(); ?>在里面。 现在,当我在Chrome浏览器中加载sub.example.com/时,我可以看到phpinfo。 奇怪的是,在我的访问日志中,多个条目是为index.php命中而写的。 对于favico(这不存在)只有一个命中。 看下面的日志。 130.233.178.70 – – [23/Sep/2010:05:00:27 +0000] "GET / HTTP/1.1" […]
我们在fastcgi模式下使用Nginx + PHP,并使用PHP-FPM作为cgi进程pipe理器。 在我们的脚本中,我们使用PDO来连接MySQL,而绝对不是在持久模式下。 但是最近我们发现我们在MySQL中仍然有太多的连接,有什么build议(或者任何可能的原因)?
我想保留一个数据库中安装的固件的列表,我可以在hpacucli输出我想要的数据,但我找不到一个可靠的方法来parsing该文件; # hpacucli ctrl slot=2 enclosure 4I:1 show Smart Array P800 in Slot 2 DL320s at Port 4I, Box 1, OK Fan Status: OK Temperature Status: OK Power Supply Status: Redundant Vendor ID: HP Serial Number: **Firmware Version: 1.20** Drive Bays: 12 Port: 4I Box: 1 Location: Internal Expander 249 Device Number: 249 Firmware Version: […]
在我的服务器上升级nginx之后,所有PHP站点都停止工作。 之前,我在“fastcgi_params”这个文件中有这个: fastcgi_param SCRIPT_NAME $fastcgi_script_name; 然后PHP站点的configuration文件里面有一个这样的块: location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; include fastcgi_params; } 但是,这不再起作用。 它只适用于如果我在每个站点的configuration文件中有这个: location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } 我必须在这里设置SCRIPT_FILENAME,而不是在“fastcgi_params”中。 它现在还必须在它前面有$ document_root。 如果在包含的fastcgi_params文件中设置,“$ document_root $ fastcgi_script_name”和“$ fastcgi_script_name”都不起作用。 我并不担心我现在不得不用$ document_root(但我很好奇,如果有人知道为什么会打破或为什么它以前工作)prepend它,但我宁愿保持fastcgi_params文件中的常见function为简单,所以我想知道为什么这是行不通的。