首先需要开启php-fpm状态功能 http://www.ttlsa.com/php/use-php-fpm-status-page-detail/ http://www.ttlsa.com/zabbix/zabbix-monitor-php-fpm-status/vim /usr/local/php/etc/php-fpm.confpm.status_path = /status 去掉注释vim /etc/nginx/vhost/web.conf server { listen 80; server_name 192.168.80.62; index index.php ...
参考http://syre.blogbus.com/logs/20092011.htmlhttp://www.mike.org.cn/articles/what-is-cgi-fastcgi-php-fpm-spawn-fcgi/http://www.larro.cn/?p=35nginx php php-fpm cgi fastcgi 等等它们之间的关系让人糊涂,google一天发现有不少介绍的好文章,不过都是各说各的不免让人抓狂,特此将上面几位前辈的文章重新整理了一下,本着拿 来主义思想(汗),照搬了原作者的部分文章,并加入了自己的想法,思路清晰了不少,再次感谢前...
php-fpm的pool当很多php站点共用一个池的时候,若是其中一个站点影响了这个pool,会导致其他站点也出现问题,为避免这个问题发生,需要对每个站点新建一个pool,进行隔离,保障服务安全1、[root@centos7 ~]# vim /usr/local/php-fpm/etc/php-fpm.conf 新增:[test.com]listen = /tmp/test.socklisten.mode = 666user = php-fpmgroup = php-fpmpm = dynamicpm.max_children = 50pm.start_servers = 20pm.min_spare_servers = 5pm.m...
使用Nginx搭配PHP已有7年的这份经历让我们学会如何为高流量站点优化NGINX和PHP-fpm配置。以下正是这方面的一些提示和建议:1. 将TCP切换为UNIX域套接字UNIX域套接字相比TCP套接字在loopback接口上能提供更好的性能(更少的数据拷贝和上下文切换)。但有一点需要牢记:仅运行在同一台服务器上的程序可以访问UNIX域套接字(显然没有网络支持)。upstream backend
{# UNIX domain socketsserver unix:/var/run/fastcgi.sock;# TCP soc...
php5-cgi (or php70-cgi) 似乎是不用装的。挤压出Nginx的性能http://blog.csdn.net/xifeijian/article/details/20956605 改ulimitvi /etc/sysctl.conffs.file-max = 70000 (貌似没用)net.netfilter.nf_conntrack_max = 1000000 (这个?)http://blog.chedushi.com/archives/9508 (ubuntu专用?)fpm用的php.ini下 (/etc/php5/fpm/php.ini)cgi.fix_pathinfo=0去掉防syn flood攻击 (高并发下会主动堵塞apache请求 导致ab测试下 apr_so...
在 linux 中,nginx 服务器和 php-fpm 可以通过 tcp socket 和 unix socket 两种方式实现。 一下内容转自:https://blog.csdn.net/qq624202120/article/details/60957634tcp socket 允许通过网络进程之间的通信,也可以通过loopback进行本地进程之间通信。unix socket 允许在本地运行的进程之间进行通信。 对比分析: 从上面的图片可以看,unix socket 减少了不必要的 tcp 开销,而 tcp 需要经过 loopback,还要申请临时端口和 tcp...
一、 php-fpm的pool
vim /usr/local/php/etc/php-fpm.conf//在[global]部分增加include = etc/php-fpm.d/*.confmkdir /usr/local/php/etc/php-fpm.d/cd /usr/local/php/etc/php-fpm.dvim www.conf //内容如下[www]listen = /tmp/www.socklisten.mode=666user = php-fpmgroup = php-fpmpm = dynamicpm.max_children = 50pm.start_servers = 20pm.min_spare_servers = 5pm.max_spare_servers = 35pm.max_requests = 500rlimit_files ...
1.CGI是什么?是为了保证web server传递过来的数据是标准格式的,方便CGI程序的编写者。web server(比如说nginx)只是内容的分发者。比如,如果请求/index.html,那么web server会去文件系统中找到这个文件,发送给浏览器,这里分发的是静态数据。好了,如果现在请求的是/index.php,根据配置文件,nginx知道这个不是静态文件,需要去找PHP解析器来处理,那么他会把这个请求简单处理后交给PHP解析器。Nginx会传哪些数据给PHP解析器...
1、php-fpm的pool 编辑配置文件vim /usr/local/php/etc/php-fpm.conf,此时只定义了一个pool,即www 可以定义多个pool,监听不同的地址或socket,如果有多个站点时,可以使用多个pool,这样当其中一个网站502之后,不会影响其他站点的正常访问。 在配置文件中增加如下部分,vim /usr/local/php/etc/php-fpm.conf[aming.com]listen = /tmp/aming.socklisten.mode=666user = php-fpmgroup = php-fpmpm = dynamicpm.max_chil...
基本原理:浏览器访问网页的过程请求静态页面Browser(浏览器)请求http://xxx.com/aa.html -> Web Server(Nginx/Apache)分发 -> 找到aa.html文件返回给Browser。请求动态脚本Browser请求http://xxx.com/bb.php -> Web Server(Nginx/Apache)分发 -> PHP解析器(PHP-CGI程序)-> 返回处理结果给Web Server -> 返回数据给Browser。原理:服务器根据配置文件,知道这是一个PHP脚本文件,需要去找PHP解析器来处理。PHP解析器会解析...
最近服务器时不时出现Nginx 502 Bad Gateway,如果在电脑旁边还好,要是半夜或者出去了,怎么办?
没关系,写个脚本检测服务状态,发现异常,自动重启。
自动重启脚本:复制代码 代码如下:
<?php
$url = ‘http://blog.rebill.info‘;
$cmd = ‘/usr/local/php/sbin/php-fpm restart‘;
for($i = 0; $i < 5; $i ++){
$exec = "curl connect-timeout 3 -I $url 2>/dev/null";
$res = shell_exec($exec);
...
一 php.ini优化#关闭危险函数
disable_functions = system,passthru,exec,shell_exec,popen,phpin
fo
#关闭php名称和版本
expose_php = Off
#错误信息控制,测试时候开启
display_errors = Off级别常量 错误值 错误报告描述
E_ERROR 1 致命的运行时错误(阻止脚本执行)
E_WARNING 2 运行时警告(非致命性错误)
E_PARSE 4 从语法中解析错误
E_NOTICE 8 ...
Nginx反向代理到单个PHP-FPM(PHP-FPM可位于不同机器)0.首先,创建我们的网站根目录【注:须在PHP-FPM所在的那台机器创建】(以后网站的代码放到此目录下):mkdir /opt/www1.编辑Nginx配置文件vi /usr/local/nginx/conf/nginx.conf在server块下修改(37行):server_name localhost;
root /opt/www; #新增此行,表示访问此服务器的网站根目录修改其中的 location / 段,默认访问文件中,加入.php文件的支持:location / {#root ...
1.php-fpm 两种模式说明而php-fpm也是同样存在两种方式,一种是直接开启指定数量的php-fpm进程,不再增加或者减少;另一种则是开始的时候开启一定数量的php-fpm进程,当请求量变大的时候,动态的增加php-fpm进程数到上限,当空闲的时候自动释放空闲的进程数到一个下限。这两种不同的执行方式,可以根据服务器的实际需求来进行调整。这里先说一下涉及到这个的几个参数吧,他们分别是:pm、pm.max_children、pm.start_servers、pm.mi...
12.21 php-fpm的pool1.添加pool:[root@hao-01 ~]# vim /usr/local/php-fpm/etc/php-fpm.conf添加第二个pool:[hao1.com]listen = /tmp/hao1.socklisten.mode = 666user = php-fpmgroup = php-fpmpm = dynamicpm.max_children = 50pm.start_servers = 20pm.min_spare_servers = 5pm.max_spare_servers = 35pm.max_requests = 500rlimit_files = 10242.查看配置有没有语法错误?[root@hao-01 ~]# /usr/local/php-fpm/sbin/php-fpm-t3...