您的位置:首页 >LNMP中Nginx与PHP如何协同工作
发布于2026-05-03 阅读(0)
扫一扫,手机访问
在典型的LNMP架构中,各个组件各司其职,共同构建起一个高效稳定的动态网站运行环境。
让我们跟踪一次典型的动态请求,看看各个组件是如何协同工作的:
通信方式对比
| 方式 | 典型配置 | 适用场景 | 主要特点 |
|---|---|---|---|
| TCP Socket | php-fpm: listen = 127.0.0.1:9000;Nginx: fastcgi_pass 127.0.0.1:9000; |
同机或跨机部署 | 通用性强、可跨主机通信;经过loopback/TCP协议栈,开销稍大 |
| Unix Domain Socket | php-fpm: listen = /tmp/php-fpm.sock;Nginx: fastcgi_pass unix:/tmp/php-fpm.sock; |
仅同机部署 | 不经过网络协议栈,通信开销更小;需要正确设置socket文件权限 |
关键Nginx配置要点
location ~ \.php$用于捕获.php请求,使用fastcgi_pass指定PHP-FPM的监听地址fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;,否则PHP-FPM会找不到需要执行的脚本fastcgi_param HTTPS on;(当反向代理或TLS终止在Nginx时)最小可用示例
server {
listen 80;
server_name app.test;
root /code/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000; # 或 unix:/tmp/php-fpm.sock;
}
}
权限与安全(Unix Socket)
listen.owner = www; listen.group = www; listen.mode = 0660;fastcgi_connect/read/send_timeout)小于PHP-FPM脚本的实际执行时间时发生下一篇:Yum如何处理冲突依赖
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9