{"id":304,"date":"2020-07-11T14:56:37","date_gmt":"2020-07-11T06:56:37","guid":{"rendered":"http:\/\/robot.tanxiaodian.com\/?p=304"},"modified":"2020-07-11T14:56:37","modified_gmt":"2020-07-11T06:56:37","slug":"php-fpmcgifast-cgiphp-cgi%e7%9b%b8%e5%85%b3%e5%90%8d%e8%af%8d%e8%a7%a3%e9%87%8a","status":"publish","type":"post","link":"https:\/\/log.tanxiaodian.com\/?p=304","title":{"rendered":"PHP-fpm|cgi|fast-cgi|php-cgi\u76f8\u5173\u540d\u8bcd\u89e3\u91ca"},"content":{"rendered":"<div>\n<div>\n<h1>php-fpm<\/h1>\n<p>\u5e94\u7528\u573a\u666f<\/p>\n<p>php-fpm\u662f\u4e2a\u4e2d\u95f4\u4ef6\uff0c\u5728\u9700\u8981php\u89e3\u91ca\u5668\u6765\u5904\u7406.php\u6587\u672c\u65f6\u4f1a\u7528\u5230php-fpm\u3002\u81ea\u4ecephp5.3.3\u4ee5\u540e\u5c31\u5c06php-fpm\u96c6\u6210\u5728php\u5185\u6838\u4e2d\u3002PHP-FPM\u63d0\u4f9b\u4e86\u66f4\u597d\u7684PHP\u8fdb\u7a0b\u7ba1\u7406\u65b9\u5f0f\uff0c\u53ef\u4ee5\u6709\u6548\u63a7\u5236\u5185\u5b58\u548c\u8fdb\u7a0b\u3001\u53ef\u4ee5\u5e73\u6ed1\u91cd\u8f7dPHP\u914d\u7f6e\u3002<\/p>\n<p>\u76f8\u5173\u6982\u5ff5<\/p>\n<h3>1.CGI<\/h3>\n<p>CGI(common gateway interface )\u901a\u7528\u7f51\u5173\u63a5\u53e3\uff0c\u662fwebserver\u548cweb\u5e94\u7528\u7a0b\u5e8f\u4ea4\u6d41\u65f6\u7684\u4e00\u7ec4\u63a5\u53e3\u89c4\u8303\u3002<\/p>\n<h3>2.Fast-cgi<\/h3>\n<p>FastCGI\u53ef\u4ee5\u7406\u89e3\u4e3a\u4e00\u79cd\u534f\u8bae\uff0c\u7528\u4e8eweb\u670d\u52a1\u5668\uff08nginx\uff0cApache\uff09\u548c\u5904\u7406\u7a0b\u5e8f\u95f4\u8fdb\u884c\u901a\u4fe1\uff0c\u662f\u4e00\u79cd\u5e94\u7528\u5c42\u901a\u4fe1\u534f\u8bae\u3002\u662fcgi\u534f\u8bae\u7684\u5347\u7ea7\u7248<\/p>\n<p>fast-cgi\u6bcf\u6b21\u5904\u7406\u5b8c\u8bf7\u6c42\u540e\uff0c\u4e0d\u4f1akill\u6389\u8fd9\u4e2a\u8fdb\u7a0b\uff0c\u800c\u662f\u4fdd\u7559\u8fd9\u4e2a\u8fdb\u7a0b\uff0c\u4f7f\u8fd9\u4e2a\u8fdb\u7a0b\u53ef\u4ee5\u4e00\u6b21\u5904\u7406\u591a\u4e2a\u8bf7\u6c42\u3002\u8fd9\u6837\u6bcf\u6b21\u5c31\u4e0d\u7528\u91cd\u65b0fork\u4e00\u4e2a\u8fdb\u7a0b\u4e86\uff0c\u4ece\u800c\u907f\u514d\u4e86\u6bcf\u4e2a\u8bf7\u6c42\u8fdb\u7a0b\u521b\u5efa\u548c\u7ec8\u6b62\u7684\u5f00\u9500\uff0c\u5927\u5927\u63d0\u9ad8\u4e86\u6548\u7387\u3002<\/p>\n<h3>3.Php-cgi<\/h3>\n<p>php-cgi\u662f\u4e00\u4e2a\u8fdb\u7a0b\u3002php-cgi\u5b9e\u73b0\u4e86cgi\u8fd9\u79cd\u534f\u8bae\uff0c\u4f46\u662f\u5b83\u662f\u5355\u8fdb\u7a0b\u7684\uff0c\u4e00\u4e2a\u8fdb\u7a0b\u5904\u7406\u4e00\u4e2a\u8bf7\u6c42\uff0c\u5904\u7406\u7ed3\u675f\u540e\u8fdb\u7a0b\u5c31\u81ea\u6211\u9500\u6bc1\u3002<\/p>\n<h3>4.Php-fpm<\/h3>\n<p>\u662f\u5bf9php-cgi\u7684\u6539\u8fdb\u7248\uff0c\u5b83\u76f4\u63a5\u7ba1\u7406\u591a\u4e2aphp-cgi\u8fdb\u7a0b\/\u7ebf\u7a0b\u3002\u4e5f\u5c31\u662f\u8bf4\uff0cphp-fpm\u662fphp-cgi\u7684\u8fdb\u7a0b\u7ba1\u7406\u5668\uff0c\u56e0\u6b64\u5b83\u7b97\u662ffastcgi\u534f\u8bae\u7684\u5b9e\u73b0\u3002\u5728\u4e00\u5b9a\u7a0b\u5ea6\u4e0a\u8bb2\uff0cphp-fpm\u4e0ephp\u7684\u5173\u7cfb\uff0c\u548ctomcat\u5bf9java\u7684\u5173\u7cfb\u662f\u7c7b\u4f3c\u7684.<\/p>\n<h3>5.cgi\u8fdb\u7a0b\/\u7ebf\u7a0b\uff1a<\/h3>\n<p>\u5728php\u4e0a\uff0c\u5c31\u662fphp-cgi\u8fdb\u7a0b\/\u7ebf\u7a0b\u3002\u4e13\u95e8\u7528\u4e8e\u63a5\u6536web server\u7684\u52a8\u6001\u8bf7\u6c42\uff0c\u8c03\u7528\u5e76\u521d\u59cb\u5316zend\u865a\u62df\u673a\u3002<\/p>\n<h3>6.cgi\u811a\u672c\uff1a<\/h3>\n<p>\u88ab\u6267\u884c\u7684php\u6e90\u4ee3\u7801\u6587\u4ef6\u3002<\/p>\n<h3>7.zend\u865a\u62df\u673a\uff1a<\/h3>\n<p>\u5bf9php\u6587\u4ef6\u505a\u8bcd\u6cd5\u5206\u6790\u3001\u8bed\u6cd5\u5206\u6790\u3001\u7f16\u8bd1\u6210opcode\uff0c\u5e76\u6267\u884c\u3002\u6700\u540e\u5173\u95edzend\u865a\u62df\u673a\u3002<\/p>\n<h3>8.cgi\u8fdb\u7a0b\/\u7ebf\u7a0b\u548czend\u865a\u62df\u673a\u7684\u5173\u7cfb\uff1a<\/h3>\n<p>cgi\u8fdb\u7a0b\u8c03\u7528\u5e76\u521d\u59cb\u5316zend\u865a\u62df\u673a\u7684\u5404\u79cd\u73af\u5883\u3002<\/p>\n<h3>9\u3001cgi\u3001fastcgi\u3001php-cgi\u548cphp-fpm\u4e4b\u95f4\u7684\u5173\u7cfb<\/h3>\n<div class=\"image-package\">\n<div class=\"image-container\">\n<div class=\"image-container-fill\"><\/div>\n<div class=\"image-view\" data-width=\"635\" data-height=\"491\"><img class=\"\" src=\"\/\/upload-images.jianshu.io\/upload_images\/15150269-161086523c94ae09.png?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/635\/format\/webp\" data-original-src=\"\/\/upload-images.jianshu.io\/upload_images\/15150269-161086523c94ae09.png\" data-original-width=\"635\" data-original-height=\"491\" data-original-format=\"image\/png\" data-original-filesize=\"16761\" data-image-index=\"0\" \/><\/div>\n<\/div>\n<div class=\"image-caption\">1.png<\/div>\n<\/div>\n<p>\u672a\u51fa\u73b0php-fpm\u4e4b\u524d<\/p>\n<p>web server\u5bf9cgi\u8fdb\u7a0b\/\u7ebf\u7a0b\u6765\u8bf4\uff0c\u5b83\u7684\u4f5c\u7528\u5c31\u662f\u53d1\u8d77\u52a8\u6001\u5904\u7406\u8bf7\u6c42\uff0c\u4f20\u9012\u4e00\u4e9b\u53c2\u6570\u548c\u73af\u5883\u53d8\u91cf\uff0c\u6700\u540e\u63a5\u6536cgi\u7684\u8fd4\u56de\u7ed3\u679c\u3002\u901a\u4fd7\u70b9\u8bf4\u5c31\u662f\u5f53\u63a5\u6536\u5230\u4e00\u4e2a\u8bf7\u6c42\u65f6\uff0cwebserver\u4e34\u65f6\u542f\u52a8\u4e00\u4e2acgi\u89e3\u91ca\u5668\uff0c\u5e76\u901a\u8fc7cgi\u534f\u8bae\u8f6c\u53d1\u8981\u8fd0\u884c\u7684\u5185\u5bb9\u3002\u5f53cgi\u811a\u672c\u8fd0\u884c\u7ed3\u675f\u540e\uff0c\u5c06\u7ed3\u679c\u8fd4\u56de\u7ed9webserver\uff0c\u7136\u540ecgi\u89e3\u91ca\u5668\u8fdb\u7a0b\u81ea\u6211\u9500\u6bc1\u3002\u5047\u5982\u670910000\u4e2a\u8bf7\u6c42\u8fdb\u6765\uff0c\u90a3\u4e48\u5c31\u4f1a\u5148\u540e\u542f\u52a810000\u4e2acgi\u89e3\u91ca\u5668\uff0c\u8fd9\u79cd\u65b9\u6cd5\u6548\u7387\u6781\u4f4e\u3002<\/p>\n<h2>php-fpm\u5de5\u4f5c\u539f\u7406<\/h2>\n<p>php-fpm\u7684\u7ba1\u7406\u5bf9\u8c61\u662fphp-cgi\u8fdb\u7a0b<\/p>\n<div class=\"image-package\">\n<div class=\"image-container\">\n<div class=\"image-container-fill\"><\/div>\n<div class=\"image-view\" data-width=\"781\" data-height=\"458\"><img class=\"\" src=\"\/\/upload-images.jianshu.io\/upload_images\/15150269-0b470af66093f8a4.png?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/781\/format\/webp\" data-original-src=\"\/\/upload-images.jianshu.io\/upload_images\/15150269-0b470af66093f8a4.png\" data-original-width=\"781\" data-original-height=\"458\" data-original-format=\"image\/png\" data-original-filesize=\"18217\" data-image-index=\"1\" \/><\/div>\n<\/div>\n<div class=\"image-caption\">2.png<\/div>\n<\/div>\n<h3>1.master\u8fdb\u7a0b<\/h3>\n<p>php-fpm\u662f\u4e00\u79cd\u591a\u8fdb\u7a0b\u7684\u6a21\u578b\uff0c\u7531\u4e00\u4e2amaster\u8fdb\u7a0b\u548c\u82e5\u5e72worker\u8fdb\u7a0b\u7ec4\u6210\uff08\u5177\u4f53\u6570\u91cf\u9700\u8981\u770bphp-fpm.conf\u7684\u914d\u7f6e\uff09\uff0cmaster\u4e0d\u4f1a\u5904\u7406\u8bf7\u6c42\uff0c\u800c\u662ffork\u51faworker\u5b50\u8fdb\u7a0b\u53bb\u63a5\u53d7\u548c\u5904\u7406\u8bf7\u6c42<\/p>\n<p>master\u8fdb\u7a0b\u7684\u4e3b\u8981\u4f5c\u7528\u5c31\u662f\u7ba1\u7406worker\u8fdb\u7a0b\uff0c\u8d1f\u8d23fork\u6216\u8005kill\u6389\u5b50\u8fdb\u7a0b\u3002\u5728\u542f\u52a8\u65f6\u6839\u636e\u914d\u7f6e\u6587\u4ef6\u4f1a\u9884\u5148\u542f\u52a8\u4e00\u5b9a\u6570\u91cf\u7684php-fpm\u8fdb\u7a0b\u3002\u5f53\u8bf7\u6c42\u6bd4\u8f83\u591aworker\u5904\u7406\u4e0d\u8fc7\u6765\u65f6\uff0cmaster\u4f1afork\u65b0\u7684worker\u8fdb\u7a0b\u5904\u7406\u3002\u5982\u679c\u7a7a\u95f2\u7684\u8fdb\u7a0b\u8f83\u591a\u65f6\uff0c\u5c31\u4f1akill\u6389\u4e00\u4e9bworker\u8fdb\u7a0b\uff0c\u907f\u514d\u5360\u7528\u6d6a\u8d39\u7cfb\u7edf\u8d44\u6e90\u3002<\/p>\n<h3>2.worker\u8fdb\u7a0b<\/h3>\n<p>worker\u8fdb\u7a0b\u7684\u4e3b\u8981\u5de5\u4f5c\u662f\u5904\u7406\u8bf7\u6c42,\u6bcf\u4e2aworker\u8fdb\u7a0b\u90fd\u4f1aaccept\u8bf7\u6c42\uff0c\u63a5\u53d7\u6210\u529f\u540e\u4f1a\u89e3\u6790fastcgi\uff0c\u7136\u540e\u6267\u884c\u811a\u672c\uff0c\u5b8c\u6210\u540e\u5173\u95ed\u8bf7\u6c42\uff0c\u7ee7\u7eed\u7b49\u5f85\u65b0\u7684\u8fde\u63a5\u3002<\/p>\n<h2>\u5b89\u88c5php-fpm<\/h2>\n<h4>1.\u5b89\u88c5php\u8fd0\u884c\u73af\u5883<\/h4>\n<p>\u4e0b\u8f7dphp-7.1.26.tar.gz<\/p>\n<p>wget <a href=\"https:\/\/links.jianshu.com\/go?to=http%3A%2F%2Fcn2.php.net%2Fget%2Fphp-7.1.26.tar.gz%2Ffrom%2Fthis%2Fmirror\" target=\"_blank\" rel=\"noopener\">http:\/\/cn2.php.net\/get\/php-7.1.26.tar.gz\/from\/this\/mirror<\/a><\/p>\n<h4>2.\u56e0\u4e3aphp\u5b89\u88c5\u9700\u8981\u7f16\u8bd1\uff0c\u6240\u4ee5\u670d\u52a1\u5668\u5e94\u8be5\u4fdd\u8bc1gcc\u548cg++\u73af\u5883\u7684\u5b89\u88c5<\/h4>\n<div class=\"_2Uzcx_\"><button class=\"VJbwyy\" type=\"button\" aria-label=\"\u590d\u5236\u4ee3\u7801\"><i class=\"anticon anticon-copy\" aria-label=\"icon: copy\"><\/i><\/button><\/p>\n<pre class=\"line-numbers  language-swift\"><code class=\"  language-swift\">yum <span class=\"token operator\">-<\/span>y install libxml2\r\nyum <span class=\"token operator\">-<\/span>y install libxml2<span class=\"token operator\">-<\/span>devel\r\nyum <span class=\"token operator\">-<\/span>y install openssl\r\nyum <span class=\"token operator\">-<\/span>y install openssl<span class=\"token operator\">-<\/span>devel\r\nyum <span class=\"token operator\">-<\/span>y install curl\r\nyum <span class=\"token operator\">-<\/span>y install curl<span class=\"token operator\">-<\/span>devel\r\nyum <span class=\"token operator\">-<\/span>y install libjpeg\r\nyum <span class=\"token operator\">-<\/span>y install libjpeg<span class=\"token operator\">-<\/span>devel\r\nyum <span class=\"token operator\">-<\/span>y install libpng\r\nyum <span class=\"token operator\">-<\/span>y install libpng<span class=\"token operator\">-<\/span>devel\r\nyum <span class=\"token operator\">-<\/span>y install freetype\r\nyum <span class=\"token operator\">-<\/span>y install freetype<span class=\"token operator\">-<\/span>devel\r\nyum <span class=\"token operator\">-<\/span>y install pcre\r\nyum <span class=\"token operator\">-<\/span>y install pcre<span class=\"token operator\">-<\/span>devel\r\nyum <span class=\"token operator\">-<\/span>y install libxslt\r\nyum <span class=\"token operator\">-<\/span>y install libxslt<span class=\"token operator\">-<\/span>devel\r\nyum <span class=\"token operator\">-<\/span>y install bzip2\r\nyum <span class=\"token operator\">-<\/span>y install bzip2<span class=\"token operator\">-<\/span>devel\r\nyum <span class=\"token operator\">-<\/span>y install gcc gcc<span class=\"token operator\">-<\/span>c<span class=\"token operator\">++<\/span>\r\n<\/code><\/pre>\n<\/div>\n<h4>3\u3002php7\u4e2d\uff0c\u5bf9lib-zip\u548ccmake\u7248\u672c\u8981\u6c42\u8f83\u9ad8\uff0c\u7f16\u8bd1\u65f6\u53ef\u80fd\u4f1a\u7531\u4e8e\u7248\u672c\u8fc7\u4f4e\u5bfc\u81f4\u7f16\u8bd1\u9519\u8bef\uff0c\u9700\u8981\u624b\u52a8\u7f16\u8bd1\u6e90\u7801\u5305\u89e3\u51b3\uff0c\u8fd9\u91cc\u4e0b\u8f7dlibzip-1.5.1.tar.gz\u548ccmake-3.13.4.tar.gz<\/h4>\n<div class=\"_2Uzcx_\"><button class=\"VJbwyy\" type=\"button\" aria-label=\"\u590d\u5236\u4ee3\u7801\"><i class=\"anticon anticon-copy\" aria-label=\"icon: copy\"><\/i><\/button><\/p>\n<pre class=\"line-numbers  language-bash\"><code class=\"  language-bash\">wget  https:\/\/github.com\/Kitware\/CMake\/releases\/download\/v3.13.4\/cmake-3.13.4.tar.gz\r\ntar xvf cmake-3.13.4.tar.gz &amp;&amp; cd cmake-3.13.4\/\r\n.\/bootstrap\r\ngmake\r\ngmake install\r\n<\/code><\/pre>\n<\/div>\n<div class=\"_2Uzcx_\"><button class=\"VJbwyy\" type=\"button\" aria-label=\"\u590d\u5236\u4ee3\u7801\"><i class=\"anticon anticon-copy\" aria-label=\"icon: copy\"><\/i><\/button><\/p>\n<pre class=\"line-numbers  language-bash\"><code class=\"  language-bash\">wget  https:\/\/libzip.org\/download\/libzip-1.5.1.tar.gz\r\ntar -xvzf libzip-1.5.1.tar.gz \r\ncd  libzip-1.5.1\r\nmkdir build &amp;&amp; cd build\/\r\ncmake -DCMAKE_INSTALL_PREFIX=\/usr\/local\/libzip ..\r\nmake\r\nmake install\r\n<\/code><\/pre>\n<\/div>\n<h4>4.\u914d\u7f6e\u53c2\u6570\uff0c\u6dfb\u52a0&#8211;enable-fpm\u53c2\u6570\uff08nginx\u7f16\u8bd1\u65f6\u5e94\u6dfb\u52a0ngx_http_fastcgi_module\u6a21\u5757\uff09<\/h4>\n<div class=\"_2Uzcx_\"><button class=\"VJbwyy\" type=\"button\" aria-label=\"\u590d\u5236\u4ee3\u7801\"><i class=\"anticon anticon-copy\" aria-label=\"icon: copy\"><\/i><\/button><\/p>\n<pre class=\"line-numbers  language-jsx\"><code class=\"  language-jsx\"><span class=\"token punctuation\">.<\/span><span class=\"token operator\">\/<\/span>configure <span class=\"token operator\">--<\/span>prefix<span class=\"token operator\">=<\/span><span class=\"token operator\">\/<\/span>usr<span class=\"token operator\">\/<\/span>local<span class=\"token operator\">\/<\/span>php \\\r\n<span class=\"token operator\">--<\/span><span class=\"token keyword\">with<\/span><span class=\"token operator\">-<\/span>curl \\\r\n<span class=\"token operator\">--<\/span><span class=\"token keyword\">with<\/span><span class=\"token operator\">-<\/span>freetype<span class=\"token operator\">-<\/span>dir \\\r\n<span class=\"token operator\">--<\/span><span class=\"token keyword\">with<\/span><span class=\"token operator\">-<\/span>gd \\\r\n<span class=\"token operator\">--<\/span><span class=\"token keyword\">with<\/span><span class=\"token operator\">-<\/span>gettext \\\r\n<span class=\"token operator\">--<\/span><span class=\"token keyword\">with<\/span><span class=\"token operator\">-<\/span>iconv<span class=\"token operator\">-<\/span>dir \\\r\n<span class=\"token operator\">--<\/span><span class=\"token keyword\">with<\/span><span class=\"token operator\">-<\/span>kerberos \\\r\n<span class=\"token operator\">--<\/span><span class=\"token keyword\">with<\/span><span class=\"token operator\">-<\/span>libdir<span class=\"token operator\">=<\/span>lib64 \\\r\n<span class=\"token operator\">--<\/span><span class=\"token keyword\">with<\/span><span class=\"token operator\">-<\/span>libxml<span class=\"token operator\">-<\/span>dir \\\r\n<span class=\"token operator\">--<\/span><span class=\"token keyword\">with<\/span><span class=\"token operator\">-<\/span>mysqli \\\r\n<span class=\"token operator\">--<\/span><span class=\"token keyword\">with<\/span><span class=\"token operator\">-<\/span>openssl \\\r\n<span class=\"token operator\">--<\/span><span class=\"token keyword\">with<\/span><span class=\"token operator\">-<\/span>pcre<span class=\"token operator\">-<\/span>regex \\\r\n<span class=\"token operator\">--<\/span><span class=\"token keyword\">with<\/span><span class=\"token operator\">-<\/span>pdo<span class=\"token operator\">-<\/span>mysql \\\r\n<span class=\"token operator\">--<\/span><span class=\"token keyword\">with<\/span><span class=\"token operator\">-<\/span>pdo<span class=\"token operator\">-<\/span>sqlite \\\r\n<span class=\"token operator\">--<\/span><span class=\"token keyword\">with<\/span><span class=\"token operator\">-<\/span>pear \\\r\n<span class=\"token operator\">--<\/span><span class=\"token keyword\">with<\/span><span class=\"token operator\">-<\/span>png<span class=\"token operator\">-<\/span>dir \\\r\n<span class=\"token operator\">--<\/span><span class=\"token keyword\">with<\/span><span class=\"token operator\">-<\/span>jpeg<span class=\"token operator\">-<\/span>dir \\\r\n<span class=\"token operator\">--<\/span><span class=\"token keyword\">with<\/span><span class=\"token operator\">-<\/span>xmlrpc \\\r\n<span class=\"token operator\">--<\/span><span class=\"token keyword\">with<\/span><span class=\"token operator\">-<\/span>xsl \\\r\n<span class=\"token operator\">--<\/span><span class=\"token keyword\">with<\/span><span class=\"token operator\">-<\/span>zlib \\\r\n<span class=\"token operator\">--<\/span><span class=\"token keyword\">with<\/span><span class=\"token operator\">-<\/span>bz2 \\\r\n<span class=\"token operator\">--<\/span><span class=\"token keyword\">with<\/span><span class=\"token operator\">-<\/span>mhash \\\r\n<span class=\"token operator\">--<\/span>enable<span class=\"token operator\">-<\/span>fpm \\\r\n<span class=\"token operator\">--<\/span>enable<span class=\"token operator\">-<\/span>bcmath \\\r\n<span class=\"token operator\">--<\/span>enable<span class=\"token operator\">-<\/span>libxml \\\r\n<span class=\"token operator\">--<\/span>enable<span class=\"token operator\">-<\/span>inline<span class=\"token operator\">-<\/span>optimization \\\r\n<span class=\"token operator\">--<\/span>enable<span class=\"token operator\">-<\/span>mbregex \\\r\n<span class=\"token operator\">--<\/span>enable<span class=\"token operator\">-<\/span>mbstring \\\r\n<span class=\"token operator\">--<\/span>enable<span class=\"token operator\">-<\/span>opcache \\\r\n<span class=\"token operator\">--<\/span>enable<span class=\"token operator\">-<\/span>pcntl \\\r\n<span class=\"token operator\">--<\/span>enable<span class=\"token operator\">-<\/span>shmop \\\r\n<span class=\"token operator\">--<\/span>enable<span class=\"token operator\">-<\/span>soap \\\r\n<span class=\"token operator\">--<\/span>enable<span class=\"token operator\">-<\/span>sockets \\\r\n<span class=\"token operator\">--<\/span>enable<span class=\"token operator\">-<\/span>sysvsem \\\r\n<span class=\"token operator\">--<\/span>enable<span class=\"token operator\">-<\/span>sysvshm \\\r\n<span class=\"token operator\">--<\/span>enable<span class=\"token operator\">-<\/span>xml \\\r\n<span class=\"token operator\">--<\/span>enable<span class=\"token operator\">-<\/span>zip \\\r\n<span class=\"token operator\">--<\/span><span class=\"token keyword\">with<\/span><span class=\"token operator\">-<\/span>libzip<span class=\"token operator\">=<\/span><span class=\"token operator\">\/<\/span>usr<span class=\"token operator\">\/<\/span>local<span class=\"token operator\">\/<\/span>libzip\r\n<\/code><\/pre>\n<\/div>\n<h4>5.\u6267\u884c\u7f16\u8bd1<\/h4>\n<div class=\"_2Uzcx_\"><button class=\"VJbwyy\" type=\"button\" aria-label=\"\u590d\u5236\u4ee3\u7801\"><i class=\"anticon anticon-copy\" aria-label=\"icon: copy\"><\/i><\/button><\/p>\n<pre class=\"line-numbers  language-go\"><code class=\"  language-go\"><span class=\"token builtin\">make<\/span> <span class=\"token operator\">&amp;&amp;<\/span> <span class=\"token builtin\">make<\/span> install\r\n<\/code><\/pre>\n<\/div>\n<h4>6.\u914d\u7f6e\u6587\u4ef6<\/h4>\n<div class=\"_2Uzcx_\"><button class=\"VJbwyy\" type=\"button\" aria-label=\"\u590d\u5236\u4ee3\u7801\"><i class=\"anticon anticon-copy\" aria-label=\"icon: copy\"><\/i><\/button><\/p>\n<pre class=\"line-numbers  language-bash\"><code class=\"  language-bash\">cp php.ini-development \/usr\/local\/php\/lib\/php.ini\r\ncp \/usr\/local\/php\/etc\/php-fpm.conf.default \/usr\/local\/php\/etc\/php-fpm.conf\r\ncp sapi\/fpm\/php-fpm \/usr\/local\/sbin\r\n<\/code><\/pre>\n<\/div>\n<p>\u6ce8\uff1a<\/p>\n<p>php-fpm.conf\u662fPHP-FPM\u7279\u6709\u7684\u914d\u7f6e\u6587\u4ef6<\/p>\n<p>php.ini\u662f\u6240\u4ee5php\u6a21\u5f0f\u4e2d\u5fc5\u987b\u7684\u914d\u7f6e\u6587\u4ef6\uff0c\u5bf9php\u7684\u6574\u4f53\u73af\u5883\u914d\u7f6e\u8d77\u4f5c\u7528<\/p>\n<p>\u4e24\u8005\u7684\u533a\u522b\u662f\uff0cphp-fpm.conf\u662fPHP-FPM\u8fdb\u7a0b\u7ba1\u7406\u5668\u7684\u914d\u7f6e\u6587\u4ef6\uff0cphp.ini\u662fPHP\u89e3\u6790\u7684\u914d\u7f6e\u6587\u4ef6<\/p>\n<h4>7.PHP-FPM \u4e3b\u914d\u7f6e\u6587\u4ef6 \/usr\/local\/php\/etc\/php-fpm.conf<\/h4>\n<div class=\"_2Uzcx_\"><button class=\"VJbwyy\" type=\"button\" aria-label=\"\u590d\u5236\u4ee3\u7801\"><i class=\"anticon anticon-copy\" aria-label=\"icon: copy\"><\/i><\/button><\/p>\n<pre class=\"line-numbers  language-php\"><code class=\"  language-php\"><span class=\"token punctuation\">[<\/span><span class=\"token keyword\">global<\/span><span class=\"token punctuation\">]<\/span>\r\npid <span class=\"token operator\">=<\/span> <span class=\"token operator\">\/<\/span><span class=\"token keyword\">var<\/span><span class=\"token operator\">\/<\/span>run<span class=\"token operator\">\/<\/span>php<span class=\"token operator\">-<\/span>fpm<span class=\"token punctuation\">.<\/span>pid\r\nerror_log <span class=\"token operator\">=<\/span> <span class=\"token operator\">\/<\/span><span class=\"token keyword\">var<\/span><span class=\"token operator\">\/<\/span>log<span class=\"token operator\">\/<\/span>php<span class=\"token operator\">-<\/span>fpm<span class=\"token punctuation\">.<\/span>log\r\nprocess_control_timeout <span class=\"token operator\">=<\/span> <span class=\"token number\">0<\/span>\r\n<span class=\"token punctuation\">;<\/span>\u52a8\u6001\u65b9\u5f0f\u4e0b\u5f00\u542f\u7684php<span class=\"token operator\">-<\/span>fpm\u8fdb\u7a0b\u7684\u6700\u5927\u6570\u91cf\r\nprocess<span class=\"token punctuation\">.<\/span>max <span class=\"token operator\">=<\/span> <span class=\"token number\">10<\/span>   \uff08\u6b64\u503c\u4f1a\u5f71\u54cd\u5230poll\u7684\u6700\u5927\u8fdb\u7a0b\u6570\uff0c\u4ee5\u8fd9\u91cc\u7684\u6570\u503c\u4e3a\u51c6\uff0c\u6216\u8005\u6ce8\u91ca\u6389\u5728pool\u91cc\u914d\u7f6e\uff09\r\n<span class=\"token punctuation\">;<\/span>\u8bbe\u7f6e fpm \u5728\u540e\u53f0\u8fd0\u884c\r\ndaemonize <span class=\"token operator\">=<\/span> yes\r\n<span class=\"token punctuation\">;<\/span> \u8bbe\u7f6e\u8fdb\u7a0b\u53ef\u4ee5\u6253\u5f00\u7684\u6587\u4ef6\u63cf\u8ff0\u7b26\u6570\u91cf\r\nrlimit_files <span class=\"token operator\">=<\/span> <span class=\"token number\">65535<\/span>\r\n<span class=\"token punctuation\">;<\/span> \u8bbe\u7f6e<span class=\"token constant\">FPM<\/span> \u7684\u4e8b\u4ef6\u5904\u7406\u673a\u5236\r\nevents<span class=\"token punctuation\">.<\/span>mechanism <span class=\"token operator\">=<\/span> epoll\r\n<span class=\"token punctuation\">;<\/span>emergency_restart_interval\u6240\u8bbe\u503c\u5185\u51fa\u73b0<span class=\"token constant\">SIGSEGV<\/span>\u6216\u8005<span class=\"token constant\">SIGBUS<\/span>\u9519\u8bef\u7684php<span class=\"token operator\">-<\/span>cgi\u8fdb\u7a0b\u6570\u5982\u679c\u8d85\u8fc7 emergency_restart_threshold\u4e2a\uff0cphp<span class=\"token operator\">-<\/span>fpm\u5c31\u4f1a\u4f18\u96c5\u91cd\u542f\r\nemergency_restart_threshold <span class=\"token operator\">=<\/span> <span class=\"token number\">10<\/span>\uff08\u4e2a\uff09\r\nemergency_restart_interval <span class=\"token operator\">=<\/span> <span class=\"token number\">5<\/span>\uff08s\uff09\r\n<span class=\"token punctuation\">;<\/span>  \u52a0\u8f7dpool \u914d\u7f6e\r\n<span class=\"token keyword\">include<\/span> <span class=\"token operator\">=<\/span> <span class=\"token operator\">\/<\/span>usr<span class=\"token operator\">\/<\/span>local<span class=\"token operator\">\/<\/span>php<span class=\"token operator\">\/<\/span>etc<span class=\"token operator\">\/<\/span>php<span class=\"token operator\">-<\/span>fpm<span class=\"token punctuation\">.<\/span>d<span class=\"token operator\">\/<\/span><span class=\"token operator\">*<\/span><span class=\"token punctuation\">.<\/span>conf\r\n<\/code><\/pre>\n<\/div>\n<p>\u6ce8\uff1a<\/p>\n<p>1.SIGBUS(Bus error)\u610f\u5473\u7740\u6307\u9488\u6240\u5bf9\u5e94\u7684\u5730\u5740\u662f\u6709\u6548\u5730\u5740\uff0c\u4f46\u603b\u7ebf\u4e0d\u80fd\u6b63\u5e38\u4f7f\u7528\u8be5\u6307\u9488\u3002\u901a\u5e38\u662f\u672a\u5bf9\u9f50\u7684\u6570\u636e\u8bbf\u95ee\u6240\u81f4\u3002<\/p>\n<p>2.SIGSEGV(Segment fault)\u610f\u5473\u7740\u6307\u9488\u6240\u5bf9\u5e94\u7684\u5730\u5740\u662f\u65e0\u6548\u5730\u5740\uff0c\u6ca1\u6709\u7269\u7406\u5185\u5b58\u5bf9\u5e94\u8be5\u5730\u5740\u3002<\/p>\n<h4>8.\u521b\u5efa\u7528\u6237\u548c\u7ec4<\/h4>\n<div class=\"_2Uzcx_\"><button class=\"VJbwyy\" type=\"button\" aria-label=\"\u590d\u5236\u4ee3\u7801\"><i class=\"anticon anticon-copy\" aria-label=\"icon: copy\"><\/i><\/button><\/p>\n<pre class=\"line-numbers  language-undefined\"><code class=\"  language-undefined\">useradd aaa groupadd aaa\r\n<\/code><\/pre>\n<\/div>\n<h4>9.\u914d\u7f6e\u5b50\u914d\u7f6e\u6587\u4ef6(pool\u6c60)<\/h4>\n<div class=\"_2Uzcx_\"><button class=\"VJbwyy\" type=\"button\" aria-label=\"\u590d\u5236\u4ee3\u7801\"><i class=\"anticon anticon-copy\" aria-label=\"icon: copy\"><\/i><\/button><\/p>\n<pre class=\"line-numbers  language-bash\"><code class=\"  language-bash\">vim \/usr\/local\/php\/etc\/php-fpm.d\/aaa.conf\r\n<\/code><\/pre>\n<\/div>\n<div class=\"_2Uzcx_\"><button class=\"VJbwyy\" type=\"button\" aria-label=\"\u590d\u5236\u4ee3\u7801\"><i class=\"anticon anticon-copy\" aria-label=\"icon: copy\"><\/i><\/button><\/p>\n<pre class=\"line-numbers  language-csharp\"><code class=\"  language-csharp\"><span class=\"token punctuation\">[<\/span>aaa<span class=\"token punctuation\">.<\/span>com<span class=\"token punctuation\">]<\/span>\r\nuser <span class=\"token operator\">=<\/span> aaa\r\n<span class=\"token keyword\">group<\/span> <span class=\"token operator\">=<\/span> aaa\r\nlisten <span class=\"token operator\">=<\/span> <span class=\"token number\">127.0<\/span><span class=\"token number\">.0<\/span><span class=\"token number\">.1<\/span><span class=\"token punctuation\">:<\/span><span class=\"token number\">9000<\/span>\r\n<span class=\"token punctuation\">;<\/span>\u5141\u8bb8\u8bbf\u95eeFastCGI\u8fdb\u7a0b\u7684IP\uff0c\u8bbe\u7f6eany\u4e3a\u4e0d\u9650\u5236IP\uff0c\u5982\u679c\u8981\u8bbe\u7f6e\u5176\u4ed6\u4e3b\u673a\u7684nginx\u4e5f\u80fd\u8bbf\u95ee\u8fd9\u53f0FPM\u8fdb\u7a0b\uff0clisten\u5904\u8981\u8bbe\u7f6e\u6210\u672c\u5730\u53ef\u88ab\u8bbf\u95ee\u7684IP\u3002\u9ed8\u8ba4\u503c\u662fany\u3002\u6bcf\u4e2a\u5730\u5740\u662f\u7528\u9017\u53f7\u5206\u9694<span class=\"token punctuation\">.<\/span> \u5982\u679c\u6ca1\u6709\u8bbe\u7f6e\u6216\u8005\u4e3a\u7a7a\uff0c\u5219\u5141\u8bb8\u4efb\u4f55\u670d\u52a1\u5668\u8bf7\u6c42\u8fde\u63a5\r\nlisten<span class=\"token punctuation\">.<\/span>allowed_clients <span class=\"token operator\">=<\/span> <span class=\"token number\">127.0<\/span><span class=\"token number\">.0<\/span><span class=\"token number\">.1<\/span>\r\n<span class=\"token punctuation\">;<\/span> \u5982\u4f55\u63a7\u5236\u5b50\u8fdb\u7a0b\uff0c\u9009\u9879\u6709<span class=\"token keyword\">static<\/span>\u3001<span class=\"token keyword\">dynamic<\/span>\u548condemand\u3002\u5982\u679c\u9009\u62e9<span class=\"token keyword\">static<\/span>\uff0c\u5219\u7531pm<span class=\"token punctuation\">.<\/span>max_children\u6307\u5b9a\u56fa\u5b9a\u7684\u5b50\u8fdb\u7a0b\u6570\u3002ondemand<span class=\"token punctuation\">:<\/span> \u6309\u9700\u5206\u914d\uff0c\u5f53\u6536\u5230\u7528\u6237\u8bf7\u6c42\u65f6fork worker\u8fdb\u7a0b\u3002 \u5982\u679c\u9009\u62e9ondemand\uff0c\u6309\u9700\u5206\u914d\uff0c\u5f53\u6536\u5230\u7528\u6237\u8bf7\u6c42\u65f6fork worker\u8fdb\u7a0b\u3002\u5982\u679c\u9009\u62e9<span class=\"token keyword\">dynamic<\/span>\uff0c\u5219\u7531\u4ee5\u4e0b\u53c2\u6570\u51b3\u5b9a\uff1a\r\npm <span class=\"token operator\">=<\/span> <span class=\"token keyword\">dynamic<\/span>\r\npm<span class=\"token punctuation\">.<\/span>max_children <span class=\"token operator\">=<\/span> <span class=\"token number\">10<\/span>\r\npm<span class=\"token punctuation\">.<\/span>start_servers <span class=\"token operator\">=<\/span> <span class=\"token number\">5<\/span>\r\npm<span class=\"token punctuation\">.<\/span>min_spare_servers <span class=\"token operator\">=<\/span> <span class=\"token number\">3<\/span>\r\npm<span class=\"token punctuation\">.<\/span>max_spare_servers <span class=\"token operator\">=<\/span> <span class=\"token number\">8<\/span>\r\n<span class=\"token punctuation\">;<\/span> \u8bbe\u7f6e\u6bcf\u4e2a\u8fdb\u7a0b\u53ef\u5904\u7406\u7684\u8bf7\u6c42\u6570\uff0c\u5f53\u8fdb\u7a0b\u8fbe\u5230\u8fd9\u4e2a\u8bf7\u6c42\u6570\u91cf\u540e\u4f1a\u81ea\u52a8\u91ca\u653e\u5728\u91cd\u65b0\u751f\u6210\u65b0\u7684\u8fdb\u7a0b\u3002\u907f\u514d\u5185\u5b58\u6cc4\u6f0f\u7b49\u60c5\u51b5\r\npm<span class=\"token punctuation\">.<\/span>max_requests <span class=\"token operator\">=<\/span> <span class=\"token number\">15<\/span> \r\n<span class=\"token punctuation\">;<\/span> FPM \u7684\u76d1\u63a7\u8bbe\u7f6e\r\npm<span class=\"token punctuation\">.<\/span>status_path <span class=\"token operator\">=<\/span> <span class=\"token operator\">\/<\/span>status\r\n<span class=\"token punctuation\">;<\/span> \u7ec8\u6b62\u8bf7\u6c42\u8d85\u65f6\u65f6\u95f4\u3002\u4e00\u4e2a\u8bf7\u6c42\u82e5\u5904\u7406\u5927\u4e8e<span class=\"token number\">20<\/span>s \uff0c\u5219\u4f1a\u81ea\u52a8kill \u6389\u3002\u907f\u514d\u8fdb\u7a0b\u5806\u79ef\r\nrequest_terminate_timeout <span class=\"token operator\">=<\/span> <span class=\"token number\">20<\/span>\r\ncatch_workers_output <span class=\"token operator\">=<\/span> no\r\n<span class=\"token punctuation\">;<\/span> \u9650\u5236 FPM \u5141\u8bb8\u89e3\u6790\u7684\u811a\u672c\u6269\u5c55\u540d<span class=\"token punctuation\">.<\/span> \u8fd9\u91cc\u4e0d\u9650\u5236\uff0cFPM\u53ef\u4ee5\u89e3\u6790\u4efb\u4f55\u6269\u5c55\u540d\u7684\u6587\u4ef6\r\nsecurity<span class=\"token punctuation\">.<\/span>limit_extensions <span class=\"token operator\">=<\/span> <span class=\"token string\">\"\"<\/span>\r\n<\/code><\/pre>\n<\/div>\n<p>\u6ce8\uff1a<\/p>\n<p>pm.max_requests = 15 \uff0c\u8fd9\u6bb5\u914d\u7f6e\u7684\u610f\u601d\u662f\uff0c\u5f53\u4e00\u4e2a PHP-CGI \u8fdb\u7a0b\u5904\u7406\u7684\u8bf7\u6c42\u6570\u7d2f\u79ef\u5230 15\u4e2a\u540e\uff0c\u81ea\u52a8\u91cd\u542f\u8be5\u8fdb\u7a0b\u3002\u5982\u679c\u8bbe\u7f6e\u4e3a &#8216;0&#8217; \u5219\u4e00\u76f4\u63a5\u53d7\u8bf7\u6c42. \u7b49\u540c\u4e8e PHP_FCGI_MAX_REQUESTS \u73af\u5883\u53d8\u91cf. \u9ed8\u8ba4\u503c: 0.<\/p>\n<p>\u4e3a\u4ec0\u4e48\u8981\u91cd\u542f\u5462\uff1f<\/p>\n<p>\u4e00\u822c\u5728\u9879\u76ee\u4e2d\uff0c\u6211\u4eec\u591a\u591a\u5c11\u5c11\u90fd\u4f1a\u7528\u5230\u4e00\u4e9b PHP \u7684\u7b2c\u4e09\u65b9\u5e93\uff0c\u8fd9\u4e9b\u7b2c\u4e09\u65b9\u5e93\u7ecf\u5e38\u5b58\u5728\u5185\u5b58\u6cc4\u6f0f\u95ee\u9898\uff0c\u5982\u679c\u4e0d\u5b9a\u671f\u91cd\u542f PHP-CGI \u8fdb\u7a0b\uff0c\u52bf\u5fc5\u9020\u6210\u5185\u5b58\u4f7f\u7528\u91cf\u4e0d\u65ad\u589e\u957f\u3002\u56e0\u6b64 PHP-FPM \u4f5c\u4e3a PHP-CGI \u7684\u7ba1\u7406\u5668\uff0c\u63d0\u4f9b\u4e86\u8fd9\u4e48\u4e00\u9879\u76d1\u63a7\u529f\u80fd\uff0c\u5bf9\u8bf7\u6c42\u8fbe\u5230\u6307\u5b9a\u6b21\u6570\u7684 PHP-CGI \u8fdb\u7a0b\u8fdb\u884c\u91cd\u542f\uff0c\u4fdd\u8bc1\u5185\u5b58\u4f7f\u7528\u91cf\u4e0d\u589e\u957f\u3002<\/p>\n<h4>10.\u914d\u7f6enginx<\/h4>\n<div class=\"_2Uzcx_\"><button class=\"VJbwyy\" type=\"button\" aria-label=\"\u590d\u5236\u4ee3\u7801\"><i class=\"anticon anticon-copy\" aria-label=\"icon: copy\"><\/i><\/button><\/p>\n<pre class=\"line-numbers  language-php\"><code class=\"  language-php\"> server <span class=\"token punctuation\">{<\/span>\r\n        listen       <span class=\"token number\">80<\/span><span class=\"token punctuation\">;<\/span>\r\n        server_name  aaa<span class=\"token punctuation\">.<\/span>com<span class=\"token punctuation\">;<\/span>\r\n      location <span class=\"token operator\">\/<\/span> <span class=\"token punctuation\">{<\/span>\r\n            root   html<span class=\"token punctuation\">;<\/span>\r\n            index  index<span class=\"token punctuation\">.<\/span>html index<span class=\"token punctuation\">.<\/span>htm<span class=\"token punctuation\">;<\/span>\r\n        <span class=\"token punctuation\">}<\/span>\r\n        error_page   <span class=\"token number\">500<\/span> <span class=\"token number\">502<\/span> <span class=\"token number\">503<\/span> <span class=\"token number\">504<\/span>  <span class=\"token operator\">\/<\/span><span class=\"token number\">50<\/span>x<span class=\"token punctuation\">.<\/span>html<span class=\"token punctuation\">;<\/span>\r\n        location <span class=\"token operator\">=<\/span> <span class=\"token operator\">\/<\/span><span class=\"token number\">50<\/span>x<span class=\"token punctuation\">.<\/span>html <span class=\"token punctuation\">{<\/span>\r\n            root   html<span class=\"token punctuation\">;<\/span>\r\n        <span class=\"token punctuation\">}<\/span>\r\n      location <span class=\"token operator\">~<\/span> <span class=\"token operator\">\/<\/span>status <span class=\"token punctuation\">{<\/span>\r\n             <span class=\"token keyword\">include<\/span> fastcgi<span class=\"token punctuation\">.<\/span>conf<span class=\"token punctuation\">;<\/span>\r\n             fastcgi_pass <span class=\"token number\">127.0<\/span><span class=\"token number\">.0<\/span><span class=\"token number\">.1<\/span><span class=\"token punctuation\">:<\/span><span class=\"token number\">9000<\/span><span class=\"token punctuation\">;<\/span>\r\n    <span class=\"token punctuation\">}<\/span>\r\n\r\n       location <span class=\"token operator\">~<\/span> <span class=\"token operator\">\/<\/span>ping <span class=\"token punctuation\">{<\/span>\r\n            <span class=\"token keyword\">include<\/span> fastcgi<span class=\"token punctuation\">.<\/span>conf<span class=\"token punctuation\">;<\/span>\r\n            fastcgi_pass <span class=\"token number\">127.0<\/span><span class=\"token number\">.0<\/span><span class=\"token number\">.1<\/span><span class=\"token punctuation\">:<\/span><span class=\"token number\">9000<\/span><span class=\"token punctuation\">;<\/span>\r\n    <span class=\"token punctuation\">}<\/span>\r\n        location <span class=\"token operator\">~<\/span> \\<span class=\"token punctuation\">.<\/span>php$ <span class=\"token punctuation\">{<\/span>\r\n            root           html<span class=\"token punctuation\">;<\/span>\r\n            fastcgi_pass   <span class=\"token number\">127.0<\/span><span class=\"token number\">.0<\/span><span class=\"token number\">.1<\/span><span class=\"token punctuation\">:<\/span><span class=\"token number\">9000<\/span><span class=\"token punctuation\">;<\/span>\r\n            fastcgi_index  index<span class=\"token punctuation\">.<\/span>php<span class=\"token punctuation\">;<\/span>\r\n            fastcgi_param  <span class=\"token constant\">SCRIPT_FILENAME<\/span>  <span class=\"token variable\">$document_root<\/span><span class=\"token variable\">$fastcgi_script_name<\/span><span class=\"token punctuation\">;<\/span>\r\n            <span class=\"token keyword\">include<\/span>        fastcgi_params<span class=\"token punctuation\">;<\/span>\r\n        <span class=\"token punctuation\">}<\/span>\r\n        <span class=\"token punctuation\">}<\/span>\r\n    <span class=\"token punctuation\">}<\/span>\r\n<\/code><\/pre>\n<\/div>\n<h4>11.\u542f\u52a8php-fpm\uff0c\u9ed8\u8ba4\u7aef\u53e3\u4e3a9000.<\/h4>\n<div class=\"_2Uzcx_\"><button class=\"VJbwyy\" type=\"button\" aria-label=\"\u590d\u5236\u4ee3\u7801\"><i class=\"anticon anticon-copy\" aria-label=\"icon: copy\"><\/i><\/button><\/p>\n<pre class=\"line-numbers  language-bash\"><code class=\"  language-bash\">\/usr\/local\/php\/sbin\/php-fpm\r\n<\/code><\/pre>\n<\/div>\n<p>\u5f00\u542fphp-fpm\u76d1\u63a7\u529f\u80fd<\/p>\n<div class=\"_2Uzcx_\"><button class=\"VJbwyy\" type=\"button\" aria-label=\"\u590d\u5236\u4ee3\u7801\"><i class=\"anticon anticon-copy\" aria-label=\"icon: copy\"><\/i><\/button><\/p>\n<pre class=\"line-numbers  language-bash\"><code class=\"  language-bash\">\/usr\/local\/php\/etc\/php-fpm.d\/aaa.conf\r\n<\/code><\/pre>\n<\/div>\n<div class=\"image-package\">\n<div class=\"image-container\">\n<div class=\"image-container-fill\"><\/div>\n<div class=\"image-view\" data-width=\"306\" data-height=\"95\"><img class=\"\" src=\"\/\/upload-images.jianshu.io\/upload_images\/15150269-f32c91d56cd31dbe.png?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/306\/format\/webp\" data-original-src=\"\/\/upload-images.jianshu.io\/upload_images\/15150269-f32c91d56cd31dbe.png\" data-original-width=\"306\" data-original-height=\"95\" data-original-format=\"image\/png\" data-original-filesize=\"4165\" data-image-index=\"2\" \/><\/div>\n<\/div>\n<div class=\"image-caption\">3.png<\/div>\n<\/div>\n<p>\u6ce8\uff1a\u8fd9\u91cc\u659c\u6760\u540e\u7684status\u662f\u53ef\u4ee5\u81ea\u5b9a\u4e49\u7684\uff0c\u5728nginx\u4e0alocation\u4e0a\u914d\u7f6e\u5339\u914d\u7684\u9009\u9879\u5373\u53ef\u3002<\/p>\n<p>\u5982\u4e0b<\/p>\n<div class=\"image-package\">\n<div class=\"image-container\">\n<div class=\"image-container-fill\"><\/div>\n<div class=\"image-view\" data-width=\"531\" data-height=\"115\"><img class=\"\" src=\"\/\/upload-images.jianshu.io\/upload_images\/15150269-2ece279cd1252e03.png?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/531\/format\/webp\" data-original-src=\"\/\/upload-images.jianshu.io\/upload_images\/15150269-2ece279cd1252e03.png\" data-original-width=\"531\" data-original-height=\"115\" data-original-format=\"image\/png\" data-original-filesize=\"4119\" data-image-index=\"3\" \/><\/div>\n<\/div>\n<div class=\"image-caption\">4.png<\/div>\n<\/div>\n<p>\u9a8c\u8bc1\u52a8\u6001\u6a21\u5f0f\u4e0b\u5f00\u542f\u7684\u8fdb\u7a0b\u6570<\/p>\n<div class=\"image-package\">\n<div class=\"image-container\">\n<div class=\"image-container-fill\"><\/div>\n<div class=\"image-view\" data-width=\"1252\" data-height=\"183\"><img class=\"\" src=\"\/\/upload-images.jianshu.io\/upload_images\/15150269-760118b9d37d7607.png?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/1200\/format\/webp\" data-original-src=\"\/\/upload-images.jianshu.io\/upload_images\/15150269-760118b9d37d7607.png\" data-original-width=\"1252\" data-original-height=\"183\" data-original-format=\"image\/png\" data-original-filesize=\"20625\" data-image-index=\"4\" \/><\/div>\n<\/div>\n<div class=\"image-caption\">5.png<\/div>\n<\/div>\n<p>\u67e5\u770bphp-fpm\u72b6\u6001\u53c2\u6570<\/p>\n<p>curl 192.168.112.111\/status<\/p>\n<div class=\"image-package\">\n<div class=\"image-container\">\n<div class=\"image-container-fill\"><\/div>\n<div class=\"image-view\" data-width=\"615\" data-height=\"394\"><img class=\"\" src=\"\/\/upload-images.jianshu.io\/upload_images\/15150269-35b9baa5e2d9f9c1.png?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/615\/format\/webp\" data-original-src=\"\/\/upload-images.jianshu.io\/upload_images\/15150269-35b9baa5e2d9f9c1.png\" data-original-width=\"615\" data-original-height=\"394\" data-original-format=\"image\/png\" data-original-filesize=\"19441\" data-image-index=\"5\" \/><\/div>\n<\/div>\n<div class=\"image-caption\">6.png<\/div>\n<\/div>\n<p>\u76f8\u5e94\u53c2\u6570\u89e3\u91ca<\/p>\n<div class=\"_2Uzcx_\"><button class=\"VJbwyy\" type=\"button\" aria-label=\"\u590d\u5236\u4ee3\u7801\"><i class=\"anticon anticon-copy\" aria-label=\"icon: copy\"><\/i><\/button><\/p>\n<pre class=\"line-numbers  language-csharp\"><code class=\"  language-csharp\"><span class=\"token preprocessor property\"># PHP-FPM \u7684POOL\u540d\u5b57<\/span>\r\npool<span class=\"token punctuation\">:<\/span>                 aaa<span class=\"token punctuation\">.<\/span>com\r\n<span class=\"token preprocessor property\"># \u8fd9\u4e2aPOOL\u4e2d\u8fdb\u7a0b\u7ba1\u7406\u65b9\u5f0f\uff0c\u8fd9\u91cc\u662f\u52a8\u6001\u7ba1\u7406\u65b9\u5f0f\u3002\u76f8\u53cd\u8fd8\u6709\u9759\u6001\u7ba1\u7406\u65b9\u5f0f\u3002<\/span>\r\nprocess manager<span class=\"token punctuation\">:<\/span>      <span class=\"token keyword\">dynamic<\/span>\r\n<span class=\"token preprocessor property\"># POOL\u4ece\u4ec0\u4e48\u65f6\u95f4\u5f00\u59cb\u542f\u52a8<\/span>\r\nstart time<span class=\"token punctuation\">:<\/span>          <span class=\"token number\">09<\/span><span class=\"token operator\">\/<\/span>Mar<span class=\"token operator\">\/<\/span><span class=\"token number\">2019<\/span><span class=\"token punctuation\">:<\/span><span class=\"token number\">21<\/span><span class=\"token punctuation\">:<\/span><span class=\"token number\">02<\/span><span class=\"token punctuation\">:<\/span><span class=\"token number\">43<\/span> <span class=\"token operator\">+<\/span><span class=\"token number\">0800<\/span>\r\n<span class=\"token preprocessor property\"># POOL \u4ece\u542f\u52a8\u5230\u73b0\u5728\u5df2\u7ecf\u5b58\u6d3b\u4e86\u591a\u4e45<\/span>\r\nstart since<span class=\"token punctuation\">:<\/span>         <span class=\"token number\">779<\/span>   \uff08\u5355\u4f4d\u79d2\uff09\r\n<span class=\"token preprocessor property\"># \u5f53\u524dPOOL\u63a5\u53d7\u7684\u8bf7\u6c42\u6570<\/span>\r\naccepted conn<span class=\"token punctuation\">:<\/span>        <span class=\"token number\">1<\/span>\r\n<span class=\"token preprocessor property\"># \u8bf7\u6c42\u7b49\u5f85\u961f\u5217\u5f53\u524d\u957f\u5ea6,\u5982\u679c\u8fd9\u4e2a\u503c\u4e0d\u4e3a0\uff0c\u90a3\u4e48\u8bf4\u660e\u4f60\u7684\u8bf7\u6c42\u5904\u7406\u5df2\u7ecf\u5f00\u59cb\u6709\u6324\u538b\u4e86\uff0c\u5e94\u8be5\u6ce8\u610f\u7cfb\u7edf\u72b6\u6001\u3002<\/span>\r\nlisten queue<span class=\"token punctuation\">:<\/span>         <span class=\"token number\">0<\/span>\r\n<span class=\"token preprocessor property\"># \u4ece\u542f\u52a8\u5230\u73b0\u5728\uff0c\u8bf7\u6c42\u7b49\u5f85\u961f\u5217\u5386\u53f2\u6700\u5927\u957f\u5ea6<\/span>\r\nmax listen queue<span class=\"token punctuation\">:<\/span>     <span class=\"token number\">0<\/span>\r\n<span class=\"token preprocessor property\"># \u8bf7\u6c42\u961f\u5217\u957f\u5ea6\u5927\u5c0f<\/span>\r\nlisten queue len<span class=\"token punctuation\">:<\/span>     <span class=\"token number\">128<\/span>\r\n<span class=\"token preprocessor property\"># \u76ee\u524d\u7a7a\u95f2\u8fdb\u7a0b\u6570<\/span>\r\nidle processes<span class=\"token punctuation\">:<\/span>       <span class=\"token number\">4<\/span>\r\n<span class=\"token preprocessor property\"># \u76ee\u524d\u5de5\u4f5c\u8fdb\u7a0b\u6570<\/span>\r\nactive processes<span class=\"token punctuation\">:<\/span>     <span class=\"token number\">1<\/span>\r\n<span class=\"token preprocessor property\"># \u76ee\u524d\u603b\u8fdb\u7a0b\u6570<\/span>\r\ntotal processes<span class=\"token punctuation\">:<\/span>      <span class=\"token number\">5<\/span>\r\n<span class=\"token preprocessor property\"># \u4ece\u542f\u52a8\u5230\u73b0\u5728\uff0c\u6700\u5927\u7684\u6d3b\u8dc3\u8fdb\u7a0b\u6570\u91cf<\/span>\r\nmax active processes<span class=\"token punctuation\">:<\/span> <span class=\"token number\">1<\/span>\r\n<span class=\"token preprocessor property\"># \u8fbe\u5230\u8fdb\u7a0b\u6700\u5927\u6570\u91cf\u9650\u5236\u7684\u6b21\u6570\uff0c\u5982\u679c\u8fd9\u4e2a\u6570\u91cf\u4e0d\u4e3a0\uff0c\u90a3\u8bf4\u660e\u8bbe\u7f6e\u7684\u6700\u5927\u8fdb\u7a0b\u6570\u91cf(pm.max_children)\u592a\u5c0f\u4e86\uff0c\u6216\u8005\u8fdb\u7a0b\u79ef\u538b\u4e86\u3002<\/span>\r\nmax children reached<span class=\"token punctuation\">:<\/span> <span class=\"token number\">0<\/span>\r\n<span class=\"token preprocessor property\"># \u6162\u8bf7\u6c42\u7684\u6570\u91cf<\/span>\r\nslow requests<span class=\"token punctuation\">:<\/span>        <span class=\"token number\">0<\/span>\r\n<\/code><\/pre>\n<\/div>\n<p>\u603b\u7ed3<\/p>\n<p>nginx\u4e0ephp-fpm\u7684\u5b8c\u6574\u6d41\u7a0b\u662f\u8fd9\u6837\u7684<\/p>\n<div class=\"image-package\">\n<div class=\"image-container\">\n<div class=\"image-container-fill\"><\/div>\n<div class=\"image-view\" data-width=\"602\" data-height=\"534\"><img class=\"\" src=\"\/\/upload-images.jianshu.io\/upload_images\/15150269-c16ed9b4ee5687ec.png?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/602\/format\/webp\" data-original-src=\"\/\/upload-images.jianshu.io\/upload_images\/15150269-c16ed9b4ee5687ec.png\" data-original-width=\"602\" data-original-height=\"534\" data-original-format=\"image\/png\" data-original-filesize=\"37185\" data-image-index=\"6\" \/><\/div>\n<\/div>\n<div class=\"image-caption\">image.png<\/div>\n<\/div>\n<p>\u5982\u56fe\uff0c\u7b80\u5355\u7248\u7684cgi\u5de5\u4f5c\u65b9\u5f0f<\/p>\n<div class=\"image-package\">\n<div class=\"image-container\">\n<div class=\"image-container-fill\"><\/div>\n<div class=\"image-view\" data-width=\"767\" data-height=\"296\"><img class=\"\" src=\"\/\/upload-images.jianshu.io\/upload_images\/15150269-a12fc4dd5d02c90c.png?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/767\/format\/webp\" data-original-src=\"\/\/upload-images.jianshu.io\/upload_images\/15150269-a12fc4dd5d02c90c.png\" data-original-width=\"767\" data-original-height=\"296\" data-original-format=\"image\/png\" data-original-filesize=\"14297\" data-image-index=\"7\" \/><\/div>\n<\/div>\n<div class=\"image-caption\">7.png<\/div>\n<\/div>\n<p>\u9ed8\u8ba4\u865a\u62df\u4e3b\u673a<\/p>\n<p>\u9ed8\u8ba4\u865a\u62df\u4e3b\u673a\u5c31\u662f\u914d\u7f6e\u6587\u4ef6\u91cc\u7684\u7b2c\u4e00\u4e2a\u865a\u62df\u4e3b\u673a\u3002\u5173\u4e8e\u9ed8\u8ba4\u865a\u62df\u4e3b\u673a\u6709\u4e2a\u7279\u70b9\uff0c\u51e1\u662f\u89e3\u6790\u5230\u8fd9\u53f0\u673a\u5668\u7684\u57df\u540d\uff0c\u4e0d\u7ba1\u662f\u4ec0\u4e48\u57df\u540d\uff0c\u53ea\u8981\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u6ca1\u6709\u914d\u7f6e\uff0c\u90a3\u4e48\u90fd\u4f1a\u8bbf\u95ee\u5230\u8fd9\u4e2a\u865a\u62df\u4e3b\u673a\u4e0a\u6765\u3002\u4e5f\u5c31\u662f\u8bf4\u9ed8\u8ba4\u865a\u62df\u4e3b\u673a\u662f\u4e00\u4e2a\u515c\u5e95\u7684\u865a\u62df\u4e3b\u673a\u3002<\/p>\n<h2>php-fpm\u7684\u4e09\u79cd\u8fd0\u884c\u6a21\u5f0f<\/h2>\n<p>php-fpm\u652f\u6301\u4e09\u79cd\u8fd0\u884c\u6a21\u5f0f\uff0c\u5206\u522b\u4e3astatic\u3001ondemand\u3001dynamic\uff0c\u9ed8\u8ba4\u4e3adynamic \u3002<\/p>\n<p>static: \u9759\u6001\u6a21\u5f0f\uff0c\u542f\u52a8\u65f6\u5206\u914d\u56fa\u5b9a\u7684worker\u8fdb\u7a0b\u3002<\/p>\n<p>ondemand: ondemand: \u6309\u9700\u5206\u914d\uff0c\u5f53\u6536\u5230\u7528\u6237\u8bf7\u6c42\u65f6fork worker\u8fdb\u7a0b\uff0c\u4e5f\u5c31\u662f\u8bf4\u6700\u521d\u7cfb\u7edf\u4e0d\u4f1a\u542f\u52a8php-fpm\u8fdb\u7a0b\uff0c\u5f53\u6709\u8fde\u63a5\u8fdb\u6765\u65f6\u6309\u9700\u542f\u52a8\u3002<\/p>\n<p>dynamic: \u52a8\u6001\u6a21\u5f0f\uff0c\u542f\u52a8\u65f6\u5206\u914d\u56fa\u5b9a\u7684\u8fdb\u7a0b\u3002\u4f34\u968f\u7740\u8bf7\u6c42\u6570\u589e\u52a0\uff0c\u5728\u8bbe\u5b9a\u7684\u6d6e\u52a8\u8303\u56f4\u8c03\u6574worker\u8fdb\u7a0b<\/p>\n<p>\u9a8c\u8bc1<\/p>\n<h3>1.static\u6a21\u5f0f<\/h3>\n<p>\u5728\/usr\/local\/php\/etc\/php-fpm.d\/aaa.conf\u91cc\u914d\u7f6e\u8fd0\u884c\u6a21\u5f0f\u4e3astatic\uff0c\u5e76\u914d\u7f6e\u6700\u5927\u5f00\u542f\u7684\u8fdb\u7a0b\u6570\u4e3a30.\u5982\u56fe\uff1a<\/p>\n<div class=\"image-package\">\n<div class=\"image-container\">\n<div class=\"image-container-fill\"><\/div>\n<div class=\"image-view\" data-width=\"657\" data-height=\"151\"><img class=\"\" src=\"\/\/upload-images.jianshu.io\/upload_images\/15150269-ecfe7dc348a08fcc.png?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/657\/format\/webp\" data-original-src=\"\/\/upload-images.jianshu.io\/upload_images\/15150269-ecfe7dc348a08fcc.png\" data-original-width=\"657\" data-original-height=\"151\" data-original-format=\"image\/png\" data-original-filesize=\"6893\" data-image-index=\"8\" \/><\/div>\n<\/div>\n<div class=\"image-caption\">8.png<\/div>\n<\/div>\n<p>\u91cd\u542fphp-fpm\uff0c\u67e5\u770bphp-fpm\u8fdb\u7a0b\u6570\u91cf<\/p>\n<div class=\"_2Uzcx_\"><button class=\"VJbwyy\" type=\"button\" aria-label=\"\u590d\u5236\u4ee3\u7801\"><i class=\"anticon anticon-copy\" aria-label=\"icon: copy\"><\/i><\/button><\/p>\n<pre class=\"line-numbers  language-undefined\"><code class=\"  language-undefined\">ps -ef |grep php-fpm\r\n<\/code><\/pre>\n<\/div>\n<div class=\"image-package\">\n<div class=\"image-container\">\n<div class=\"image-container-fill\"><\/div>\n<div class=\"image-view\" data-width=\"670\" data-height=\"54\"><img class=\"\" src=\"\/\/upload-images.jianshu.io\/upload_images\/15150269-4d1deec4ca3f39b9.png?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/670\/format\/webp\" data-original-src=\"\/\/upload-images.jianshu.io\/upload_images\/15150269-4d1deec4ca3f39b9.png\" data-original-width=\"670\" data-original-height=\"54\" data-original-format=\"image\/png\" data-original-filesize=\"3232\" data-image-index=\"9\" \/><\/div>\n<\/div>\n<div class=\"image-caption\">9.png<\/div>\n<\/div>\n<p>\u53ef\u4ee5\u770b\u5230\uff0c\u5f53\u914d\u7f6e\u6587\u4ef6\u91cc\u8bbe\u7f6ephp-fpm\u7684\u8fd0\u884c\u65b9\u5f0f\u4e3astatic\u6a21\u5f0f\u65f6\uff0c\u542f\u52a8\u7684php-fpm\u8fdb\u7a0b\u6570\u53ea\u53d7pm.max_children \u8fd9\u4e2a\u53c2\u6570\u503c\u7684\u5f71\u54cd\uff0c\u4e0e\u5176\u4ed6\u7684\u53c2\u6570\u503c\u65e0\u5173\u3002<\/p>\n<h3>2.ondemand\u6a21\u5f0f<\/h3>\n<p>\u4fee\u6539\u914d\u7f6e\u6587\u4ef6aaa.conf\uff0c\u914d\u7f6e\u4e3aondemand\u6a21\u5f0f\uff0c\u4e0e\u5176\u76f8\u5173\u7684\u4e24\u4e2a\u53c2\u6570\u662fpm.max_children \u548c pm.process_idle_timeout , pm.process_idle_timeout \u8868\u793a\u7cfb\u7edf\u68c0\u6d4b\u5230php-fpm\u8fdb\u7a0b\u7684\u7a7a\u95f2\u65f6\u95f4(\u79d2)\u8fbe\u5230\u89c4\u5b9a\u503c\u65f6\u5c31\u4f1a\u5c06\u5176\u4f1akill\u3002\u5982\u4e0b\uff1a<\/p>\n<div class=\"image-package\">\n<div class=\"image-container\">\n<div class=\"image-container-fill\"><\/div>\n<div class=\"image-view\" data-width=\"366\" data-height=\"76\"><img class=\"\" src=\"\/\/upload-images.jianshu.io\/upload_images\/15150269-40cb20fc6999815b.png?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/366\/format\/webp\" data-original-src=\"\/\/upload-images.jianshu.io\/upload_images\/15150269-40cb20fc6999815b.png\" data-original-width=\"366\" data-original-height=\"76\" data-original-format=\"image\/png\" data-original-filesize=\"3050\" data-image-index=\"10\" \/><\/div>\n<\/div>\n<div class=\"image-caption\"><\/div>\n<\/div>\n<p>\u4fee\u6539\u5b8c\u6210\u540e\u542f\u52a8php-fpm\uff0c\u67e5\u770b\u8fdb\u7a0b\u6570\u5982\u4e0b\uff1a<\/p>\n<div class=\"image-package\">\n<div class=\"image-container\">\n<div class=\"image-container-fill\"><\/div>\n<div class=\"image-view\" data-width=\"1222\" data-height=\"73\"><img class=\"\" src=\"\/\/upload-images.jianshu.io\/upload_images\/15150269-c6e56b1dd069caa3.png?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/1200\/format\/webp\" data-original-src=\"\/\/upload-images.jianshu.io\/upload_images\/15150269-c6e56b1dd069caa3.png\" data-original-width=\"1222\" data-original-height=\"73\" data-original-format=\"image\/png\" data-original-filesize=\"9281\" data-image-index=\"11\" \/><\/div>\n<\/div>\n<div class=\"image-caption\">11.png<\/div>\n<\/div>\n<p>\u53ef\u4ee5\u770b\u5230php-fpm\u7684master\u542f\u52a8\u65f6\uff0c\u5e76\u6ca1\u6709fork\u51fa\u5b50\u8fdb\u7a0b\u3002<\/p>\n<p>\u901a\u8fc7curl\u53bb\u6d4b\u8bd5\u8bbf\u95ee<\/p>\n<div class=\"_2Uzcx_\"><button class=\"VJbwyy\" type=\"button\" aria-label=\"\u590d\u5236\u4ee3\u7801\"><i class=\"anticon anticon-copy\" aria-label=\"icon: copy\"><\/i><\/button><\/p>\n<pre class=\"line-numbers  language-undefined\"><code class=\"  language-undefined\">curl 192.168.112.111\/test.php\r\n<\/code><\/pre>\n<\/div>\n<p>\u518d\u6b21\u67e5\u770b\u8fdb\u7a0b\u6570\uff0c\u53ef\u4ee5\u770b\u5230\u5df2\u7ecf\u6709\u4e00\u4e2aphp-fpm\u8fdb\u7a0b\u542f\u52a8\u3002<\/p>\n<div class=\"image-package\">\n<div class=\"image-container\">\n<div class=\"image-container-fill\"><\/div>\n<div class=\"image-view\" data-width=\"1202\" data-height=\"98\"><img class=\"\" src=\"\/\/upload-images.jianshu.io\/upload_images\/15150269-2e6f40601ac851c9.png?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/1200\/format\/webp\" data-original-src=\"\/\/upload-images.jianshu.io\/upload_images\/15150269-2e6f40601ac851c9.png\" data-original-width=\"1202\" data-original-height=\"98\" data-original-format=\"image\/png\" data-original-filesize=\"11777\" data-image-index=\"12\" \/><\/div>\n<\/div>\n<div class=\"image-caption\">12.png<\/div>\n<\/div>\n<p>\u5728\u914d\u7f6e\u6587\u4ef6\u91cc\u5199\u5230php-fpm\u8fdb\u7a0b\u7a7a\u95f215s\u540e\u5c06\u4f1a\u88abmasterkill\u6389\uff0c\u8fd9\u91cc\u53ef\u4ee5\u7b49\u5f8515s\u5de6\u53f3\u518d\u53bb\u67e5\u770b\u8fdb\u7a0b\u6570\uff0c\u5982\u4e0b\u56fe\uff0c\u53ef\u4ee5\u770b\u5230\u8be5\u8fdb\u7a0b\u5df2\u7ecf\u88abkill\u6389\u3002<\/p>\n<div class=\"image-package\">\n<div class=\"image-container\">\n<div class=\"image-container-fill\"><\/div>\n<div class=\"image-view\" data-width=\"1227\" data-height=\"74\"><img class=\"\" src=\"\/\/upload-images.jianshu.io\/upload_images\/15150269-04f24c5c3421d8e7.png?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/1200\/format\/webp\" data-original-src=\"\/\/upload-images.jianshu.io\/upload_images\/15150269-04f24c5c3421d8e7.png\" data-original-width=\"1227\" data-original-height=\"74\" data-original-format=\"image\/png\" data-original-filesize=\"9270\" data-image-index=\"13\" \/><\/div>\n<\/div>\n<div class=\"image-caption\">13.png<\/div>\n<\/div>\n<\/div>\n<p>\u4f5c\u8005\uff1a\u51ac\u65e5\u5927\u8349\u539f\u7684\u9ec4\u660f<br \/>\n\u94fe\u63a5\uff1ahttps:\/\/www.jianshu.com\/p\/99d478ea1330<br \/>\n\u6765\u6e90\uff1a\u7b80\u4e66<br \/>\n\u8457\u4f5c\u6743\u5f52\u4f5c\u8005\u6240\u6709\u3002\u5546\u4e1a\u8f6c\u8f7d\u8bf7\u8054\u7cfb\u4f5c\u8005\u83b7\u5f97\u6388\u6743\uff0c\u975e\u5546\u4e1a\u8f6c\u8f7d\u8bf7\u6ce8\u660e\u51fa\u5904\u3002<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>php-fpm \u5e94\u7528\u573a\u666f php-fpm\u662f\u4e2a\u4e2d\u95f4\u4ef6&#8230;<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"https:\/\/log.tanxiaodian.com\/?p=304\">Continue reading<span class=\"screen-reader-text\">PHP-fpm|cgi|fast-cgi|php-cgi\u76f8\u5173\u540d\u8bcd\u89e3\u91ca<\/span><\/a><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[],"_links":{"self":[{"href":"https:\/\/log.tanxiaodian.com\/index.php?rest_route=\/wp\/v2\/posts\/304"}],"collection":[{"href":"https:\/\/log.tanxiaodian.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/log.tanxiaodian.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/log.tanxiaodian.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/log.tanxiaodian.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=304"}],"version-history":[{"count":1,"href":"https:\/\/log.tanxiaodian.com\/index.php?rest_route=\/wp\/v2\/posts\/304\/revisions"}],"predecessor-version":[{"id":305,"href":"https:\/\/log.tanxiaodian.com\/index.php?rest_route=\/wp\/v2\/posts\/304\/revisions\/305"}],"wp:attachment":[{"href":"https:\/\/log.tanxiaodian.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=304"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/log.tanxiaodian.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=304"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/log.tanxiaodian.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=304"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}