我试图使用nginx php-fpm与nginx选项'保留'
在tcp端口(9000)或unix套接字( /var/run/php5-fpm.socket)上启动php-fpm时,这些错误是可见的。
这里的目的是尽可能减少Nginx-php-fpm之间新的tcp/socket连接开销,并尽可能重用连接。请注意,我将nginx'keepalive 20'保存为php fpm'pm。最大请求数=0'
有人能帮我纠正这个错误吗?
使用中的软件:
nginx version: nginx/1.4.7
php-fpm version: 5.4.25 / 5.6.6
PHP-FPM错误日志条目:
WARNING: [pool www] child 15388 exited on signal 15 (SIGTERM) after 2245.557110 seconds from start
NOTICE: [pool www] child 18701 started
Nginx错误:
使用php fpm在端口9000上侦听
[error] 32310#0: *765 readv() failed (104: Connection reset by peer) while reading upstream, client: 10.10.133.xx, server: 192.168.28.xxx, request: "GET /test.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "10.10.133.xxx"
php-fpm监听套接字 /var/run/php5-fpm.socket
[error] 14894#0: *383 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 10.10.133.xx, server: 192.168.28.xxx, request: "GET /test.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.socket:", host: "10.10.133.xxx"
以下是nginx vhost会议
upstream fastcgi_backend {
server 127.0.0.1:9000;
#server unix:/var/run/php5-fpm.socket;
keepalive 30;
}
server {
listen 80;
server_name 10.10.xxx.xxx;
access_log /tmp/ngx_access_80.log;
error_log /tmp/ngx_error_80.log;
location ~ \.php$ {
root /var/www/test/;
include fastcgi_params;
fastcgi_pass fastcgi_backend; //upstream set above
fastcgi_keep_conn on; #Test for keepalive connection to php-fpm
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
}
}
以下是php-fpm.conf
[global]
pid = /var/run/php-fpm-9000.pid
error_log = /var/log/php-fpm-9000.log
[www]
listen = 0.0.0.0:9000
user = daemon
group = daemon
rlimit_files = 60000
pm = dynamic
pm.max_requests = 0
pm.max_children = 500
pm.start_servers = 50
pm.min_spare_servers = 40
pm.max_spare_servers = 90
这表示php cgi子级15388不知何故从OS或php-FPM接收到SIGTERM。看见https://bugs.php.net/bug.php?id=60961
php-fpm有一个错误,当与nginx一起使用时,它会倒下
fastcgi_keep_conn= on;
您需要将该选项设置为关闭
。
您必须将nginxkeepalive_requests
和php-fpmpm.max_requests
设置为相同的值,以避免出现此错误
从上游读取响应头时,recv()失败(104:连接由对等重置)
如果这两个值不匹配,那么nginx或php-fpm最终都会关闭连接,从而触发错误。
Enhance the ngx_http_upstream_keepalive_module to support setting keepalive timeout: upstream backend { server 127.0.0.1:8080; keepalive 32; keepalive_timeout 30s; # 设置后端连接的最大idle时间为30s }
来自nginx。org,keepalive config的默认值是-,但我不太明白这意味着什么。
我正在开发一个通过TCP/IP承载第三方设备的服务器,并且已经经历了突然的连接中断(设备通过蜂窝连接)。我需要找到一种方法来检测断开,而不必将数据写入设备本身。 我的简化套接字代码如下: 如有任何反馈,将不胜感激。
在caniuse中查到的是谷歌66以上版本,但是今天在66版本试了不行
我正在使用okhttp库在我的服务器之间创建一个安全的websocket连接。但我的websocket连接在3分钟后就会关闭。所以我添加了下面的代码来确保乒乓球 这是我用来为我的服务器发送ping的代码。但不幸的是,我无法在pcap中捕获应用程序发送的ping数据。有没有办法捕获okhttp websocket发送的ping 当ping似乎不起作用时,我尝试在下面的代码中发送保持活动。但我无法在p