首页
导航
博客
电子书
算法
众创
代码
随贴
关于我们
您好,欢迎来到码863代码分享网! 请
[登录]
/
[注册]
搜 索
标题:
*
140
字
TAG标签:
(用空格隔开)
30
字
恢复历史版本:
请选择分类
html
python
javascript
php
sql
c
c++
c#
java
plain
所有人可见
仅自己可见
编辑器:UEditor
编辑器:TinyMCE
编辑器:Editor.md
HTML转MD
HTML转MD2
<p>Nginx连接fastcgi的方式有2种:unix domain socket和TCP,Unix domain socket 或者 IPC socket是一种终端,可以使同一台操作系统上的两个或多个进程进行数据通信。与管道相比,Unix domain sockets 既可以使用字节流和数据队列,而管道通信则只能通过字节流。Unix domain sockets的接口和Internet socket很像,但它不使用网络底层协议来通信。Unix domain socket 的功能是POSIX操作系统里的一种组件。</p><p><br/></p><p>TCP和unix domain socket方式对比</p><p><br/></p><p>TCP是使用TCP端口连接127.0.0.1:9000</p><p><br/></p><p>php5.3之后的版本,php-fpm.conf里的listen的默认配置是127.0.0.1:9000,就不会生成php-fpm.sock,因此如果需要Nginx里的配置有链接tmp/php-fpm.sock的话,需要将listen的地址配置成和nginx的配置文件一致,同时保证这个路径已经存在,这样在启动./php-fpm的时候,会在对应路径上自动生成php-fpm.sock,例如:</p><p><br/></p><p> 让PHP-FPM使用Unix套接字</p><p><br/></p><p>默认情况下监听端口 9000 。 另外,也可以使PHP-FPM使用Unix套接字,这避免了TCP的开销。要做到这一点,打开 /etc/php-fpm.d/www.conf…</p><p><br/></p><p>vi /etc/php-fpm.d/www.conf</p><p><br/></p><p>… 修改后如下:</p><p><br/></p><p>[...]</p><p>;listen = 127.0.0.1:9000</p><p>listen = /var/run/php-fpm/php5-fpm.sock</p><p>[...]</p><p>然后重新加载 PHP-FPM:</p><p><br/></p><p>systemctl restart php-fpm.service</p><p><br/></p><p>接下来通过你的nginx的配置和所有的虚拟主机和改线 fastcgi_pass 127.0.0.1:9000; to fastcgi_pass unix:/tmp/php5-fpm.sock;,像这样:</p><p><br/></p><p>vi /etc/nginx/conf.d/default.conf</p><p><br/></p><p>[...]</p><p> location ~ .php$ {</p><p> root /usr/share/nginx/html;</p><p> try_files $uri =404;</p><p> fastcgi_pass unix:/var/run/php-fpm/php5-fpm.sock;</p><p> fastcgi_index index.php;</p><p> fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;</p><p> include fastcgi_params;</p><p> }</p><p>[...]</p><p>最后重新加载 nginx:</p><p><br/></p><p>systemctl restart nginx.service </p><p><br/></p><p>这样配置好后,就会在/var/run/php-fpm/目录下自动生成一个php5-fpm.sock文件,然后一切OK。</p><p><br/></p><p> </p><p><br/></p>
CopyRight 2002~2023 精通2100网 联系邮箱:qqtxt@163.com
版权所有:精通2100网
湘ICP备2023018646号-1
MYSQl共执行 4 个查询,用时 0.0019519329071045 秒,PHP脚本用时 0.004034 秒,占用内存 0.506 MB,Gzip 已启用