`

Nginx中fastcgi_pass的配置问题

 
阅读更多
Nginx和PHP-FPM的进程间通信有两种方式,一种是TCP,一种是UNIX Domain Socket.
其中TCP是IP加端口,可以跨服务器.而UNIX Domain Socket不经过网络,只能用于Nginx跟PHP-FPM都在同一服务器的场景.用哪种取决于你的PHP-FPM配置:
方式1:
php-fpm.conf: listen = 127.0.0.1:9000
nginx.conf: fastcgi_pass 127.0.0.1:9000;
方式2:
php-fpm.conf: listen = /tmp/php-fpm.sock
nginx.conf: fastcgi_pass unix:/tmp/php-fpm.sock;
其中php-fpm.sock是一个文件,由php-fpm生成,类型是srw-rw----.

UNIX Domain Socket可用于两个没有亲缘关系的进程,是目前广泛使用的IPC机制,比如X Window服务器和GUI程序之间就是通过UNIX Domain Socket通讯的.这种通信方式是发生在系统内核里而不会在网络里传播.UNIX Domain Socket和长连接都能避免频繁创建TCP短连接而导致TIME_WAIT连接过多的问题.对于进程间通讯的两个程序,UNIX Domain Socket的流程不会走到TCP那层,直接以文件形式,以stream socket通讯.如果是TCP Socket,则需要走到IP层,对于非同一台服务器上,TCP Socket走的就更多了.

UNIX Domain Socket:
Nginx <=> socket <=> PHP-FPM
TCP Socket(本地回环):
Nginx <=> socket <=> TCP/IP <=> socket <=> PHP-FPM
TCP Socket(Nginx和PHP-FPM位于不同服务器):
Nginx <=> socket <=> TCP/IP <=> 物理层 <=> 路由器 <=> 物理层 <=> TCP/IP <=> socket <=> PHP-FPM

像mysql命令行客户端连接mysqld服务也类似有这两种方式:
使用Unix Socket连接(默认):
mysql -uroot -p --protocol=socket --socket=/tmp/mysql.sock
使用TCP连接:
mysql -uroot -p --protocol=tcp --host=127.0.0.1 --port=3306
分享到:
评论

相关推荐

    CentOS+nginx+fastCGI+mysql配置文档

    在本配置文档中,我们将详细讨论如何在 CentOS 系统上搭建一个基于 Nginx、FastCGI 和 MySQL 的服务器环境。这个配置过程涉及到多个步骤,包括安装必要的软件包、配置 Nginx 以及整合 PHP 和 MySQL。 首先,我们...

    nginx_php_magento配置文件

    这个配置告诉`nginx`监听80端口,将请求指向`Magento`的根目录,并通过`fastcgi_pass`指令将`.php`请求转发给本地`PHP-FPM`服务。 **5. 性能优化** 为了最大化`nginx`和`PHP`的性能,可以考虑以下优化策略: - 使用...

    Nginx中FastCGI如何配置优化

    在Nginx中配置FastCGI优化,主要涉及以下几个方面: 1. **FastCGI缓存配置**:通过`fastcgi_cache_path`指令定义缓存路径、目录结构和缓存策略。例如,`levels=1:2`表示两级目录结构,`keys_zone=TEST:10m`定义了一...

    nginx-1.14.0.zip_nginx fastcgi

    在配置Nginx以使用FastCGI时,你需要在Nginx配置文件中定义一个location块,指定哪些URL应该通过FastCGI处理。例如: ```nginx location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/...

    Nginx文件上传模块配置

    在本文中,我们将深入探讨如何配置Nginx以支持文件上传功能,特别是使用upload_module和upload_progress_module这两个第三方模块。Nginx是一个高效且灵活的HTTP服务器和反向代理,由Igor Sysoev开发,它支持模块化的...

    安装windows 下 php7+nginx+fastcgi

    在php.ini配置文件中,确保fastcgi_pass设置正确,并通过命令行启动php-cgi.exe。 6. **启动Nginx**:在命令行中启动Nginx服务,如果一切配置无误,Nginx应该能够正常启动并监听HTTP请求。 7. **测试配置**:创建...

    nginx优化配置,搭建高性能服务器

    在Nginx配置文件中,通过`location`指令指定PHP文件的处理方式,使用`fastcgi_pass`指向下述FastCGI服务地址。 2. **FastCGI参数**:`fastcgi_param`用于传递环境变量给FastCGI,如`SCRIPT_FILENAME`表示请求的脚本...

    Win7 下配置Nginx+PHP7

    在Windows 7操作系统中配置Nginx与PHP7是一个常见的任务,主要应用于本地开发环境的搭建,以便测试和调试PHP应用程序。Nginx是一个高性能的Web服务器,而PHP7则是一个用于服务器端脚本的开源解释器。下面将详细介绍...

    windows下 php+nginx配置详解

    设置监听地址和端口,与Nginx配置中的`fastcgi_pass`对应: ```ini listen = 127.0.0.1:9000 ``` 启动Nginx和PHP-FPM服务。如果一切配置无误,现在你应该可以通过浏览器访问`http://localhost/`并看到Nginz的欢迎...

    05尚硅谷_Nginx_hit1qr_nginx尚硅谷_nginx_

    在“05尚硅谷_Nginx_hit1qr_nginx尚硅谷_nginx_”的学习资源中,我们将深入探讨 Nginx 的安装、配置以及如何实现负载均衡。 **一、Nginx 的安装** Nginx 的安装通常分为编译安装和使用软件包管理器安装两种方式。...

    Installing_Nginx_With_PHP5_And_MySQL_Support_On_Debian_Squeeze.rar

    fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } ``` 这告诉Nginx,所有以.php结尾的请求应通过...

    如何正确配置Nginx + PHP_.docx

    在配置Nginx和PHP的过程中,正确的设置至关重要,因为不恰当的配置可能导致安全漏洞或性能问题。以下是对标题和描述中涉及的知识点的详细说明: 1. **配置结构与继承关系**: Nginx的配置文件通常由`http`、`...

    第4章 Nginx与PHP(FastCGI)的安装、配置与优化

    2. **请求转发**:Nginx根据配置文件中的规则,将请求转发给绑定在特定socket上的FastCGI Wrapper。 3. **请求处理**:Wrapper接收到请求后,启动一个新的线程来执行PHP脚本或其他外部程序,并获取处理结果。 4. **...

    centos的nginx+php的fastcgi模式编译安装

    fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } ``` - 配置Nginx日志、错误日志、访问控制等其他...

    Windows+Nginx+PHP7安装配置

    我们需要在Nginx的配置文件中添加以下代码: server { listen 1181; access_log logs/1181.access.log; location / { root d:/htdocs/NewPro; index index.html index.htm index.php; } location ~ \.php$ {...

    nginx配置文件-magent

    在本文中,我们将深入探讨“nginx配置文件-magent”这个主题,了解Nginx配置的基本结构、主要配置指令以及如何针对Magento电子商务平台进行定制化配置。 1. Nginx配置文件结构: Nginx的配置文件通常位于`/etc/...

    nginx基础和优化配置.rar

    在配置中,需要设置fastcgi_pass指定FastCGI进程的地址,fastcgi_param传递环境变量,以及调整keepalive_timeout以优化连接复用。此外,可以使用缓存机制,如FastCGI缓存,提高动态请求响应速度。 **3. Nginx HTTP...

    nginx运行php的配置(wordpress)

    在构建高效的Web服务器环境中,Nginx以其高性能和低资源消耗的特点被广泛用于处理静态内容和反向代理。WordPress作为全球最受欢迎的CMS平台,经常与Nginx搭配使用以优化性能。本文将深入探讨如何配置Nginx以运行PHP...

    修改Nginx默认主页.txt

    要修改 Nginx 的默认主页,首先需要找到当前配置文件中的默认主页路径,并将其更改为所需的路径。这通常涉及到修改 `server` 块内的 `location /` 部分。 #### 3. Nginx配置文件的具体编辑方法 根据题目提供的部分...

Global site tag (gtag.js) - Google Analytics