Nginx和PHP的组合主要是通过Fastcgi通信,通信方式主要有两种:一种是TCP,一种是unix socket。
Nginx和PHP部署在不同机器上选择第一种,部署在同一台机器上可以选择第二种。
PHP-FPM是PHP端的 Fastcgi的一种实现。
安装
假设站点目录为 /wwwroot/example.com/ ,创建站点文件 /wwwroot/example.com/public/index.php:
echo phpinfo();
TCP配置方式
检查 PHP-FPM 的站点配置文件 /usr/local/php/etc/php-fpm.d/www.conf中 listen 的值是否为ip+端口的形式:
listen = 127.0.0.1:9000
如果修改了使用 service php-fpm restart 使其生效。
在 Nginx 配置文件 /usr/local/nginx/conf/nginx.conf 中的 http 节点内添加站点:
server {
listen 80;
server_name example.com;
root /wwwroot/example.com/public;
index index.html index.htm index.php;
location ~ \.php$ {
# TCP,ip+端口的通信方式
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
}