php与nginx如何通信


本文摘自PHP中文网,作者(*-*)浩,侵删。

Nginx与PHP的两种通信方式-unix socket和tcp socket

两者Nginx配置 (推荐学习:nginx教程)

unix socket

需要在nginx配置文件中填写php-fpm运行的pid文件地址。

1

2

3

4

5

6

location ~ \.php$ {

    include fastcgi_params;

    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;;

    fastcgi_pass unix:/var/run/php5-fpm.sock;

    fastcgi_index index.php;

}

tcp socket

需要在nginx配置文件中填写php-fpm运行的ip地址和端口号。

1

2

3

4

5

6

location ~ \.php$ {

    include fastcgi_params;

    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;;

    fastcgi_pass 127.0.0.1:9000;

    fastcgi_index index.php;

}

两者比较

nginx-10.png

从上面的图片可以看,unix socket减少了不必要的tcp开销,而tcp需要经过loopback,还要申请临时端口和tcp相关资源。

但是,unix socket高并发时候不稳定,连接数爆发时,会产生大量的长时缓存,在没有面向连接协议的支撑下,大数据包可能会直接出错不返回异常。tcp这样的面向连接的协议,多少可以保证通信的正确性和完整性。

以上就是php与nginx如何通信的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

nginx怎么解决跨域问题

apache和nginx的比较

nginx的三种反向代理方式你都知道么

nginx英文怎么读

nginx可以做什么

linux下设置nginx开机自启的方法

nginx运维中怎么样平滑升级

nginx与php怎么处理用户请求

php与nginx如何通信

nginx干什么的

更多相关阅读请进入《nginx》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...