记 nginx fastcgi_pass 配置一则

今天是国庆第二天,首先还是祝大家生活愉快~,不过在前一个小时前我内心是忧郁的,因为我犯了一个一山不容二虎的错误,上操作
file
fastcgi_pass 我同时指定了俩,以至于我在重起 nginx 时得到以下错误

nginx: [emerg] "fastcgi_pass" directive is duplicate in /etc/nginx/conf.d/wp.conf:58

根据错误提示 + google,虽然问题得到了解决,但对其中的细节原由并不是很了解,跟着搜了很多文章,知道 Nginx 和 PHP-FPM 的进程间通信有两种方式
一、TCP / IP

ip + 端口号,nginx 默认 127.0.0.1:9000,这种方式需要经过网络,可以跨服务器访问。
php-fpm 和 nginx 在同一台服务器处理流程
nginx <=> socket <=> TCP/IP <=> socket <=> php-fpm
php-fpm 和 nginx 不在一台服务器处理流程
nginx <=> socket <=> TCP/IP <=> 物理层 <=> 路由器 <=> 物理层 <=> TCP/IP <=> socket <=> php-fpm
配置如下:
/etc/php/7.0/fpm/www.conf ==> listen 127.0.0.1:9000(没有就添加一行)
/etc/nginx/file_name.conf ==> fastcgi_pass 127.0.0.1:9000(一般打开注释就行)

二、UNIX Domain Socket( php7 默认 )

此方式, 是 套接字 不经过网络只能用于 nginx 跟 php-fpm 都在同一服务器的场景
处理流程: Nginx <=> socket <=> PHP-FPM
配置如下:
/etc/php/7.0/fpm/www.conf ==> /run/php/php7.0-fpm.sock
/etc/nginx/file_name.conf ==> /run/php/php7.0-fpm.sock

参考文献

本作品采用《CC 协议》,转载必须注明作者和本文链接
你迷茫的原因大多数是因为,想得多,做得少
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!