nginx 与 PHP 通信和交互
在Nginx与PHP之间通信和交互通常涉及配置Nginx以代理PHP请求到PHP-FPM(PHP FastCGI Process Manager)。以下是一个基本的配置示例:
- 安装Nginx和PHP-FPM。
- 配置Nginx以处理PHP文件请求。
server {
listen 80;
server_name example.com;
root /var/www/html;
index index.php index.html index.htm;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 确保路径与PHP-FPM版本和配置相匹配
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
在这个配置中,当Nginx收到一个以.php
结尾的请求时,它会将请求传递给在fastcgi_pass
指令中定义的PHP-FPM的socket。fastcgi_param
指令设置了传递给PHP-FPM的环境变量,fastcgi_params
文件包含了其他必要的参数。
确保Nginx用户有权限读取网站目录和文件,并且PHP-FPM已经启动,以便处理Nginx转发的PHP请求。
评论已关闭