nginx和php-fpm关系:

nginx把php代码转发给php-fpm服务解析

nignx安装配置

1、安装:

brew install nginx

mac环境brew安装nginx

2、修改nginx配置文件/usr/local/var/www

location ~ \.php$ {
   root           /usr/local/var/www/php;
    fastcgi_pass   127.0.0.1:9999;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

说明:
root: 网页文件存放路径
fastcgi_pass: php-fpm监听的地址和端口,负责解析php

3、启动nginx

brew services start nginx
php-fpm配置

mac默认已经安装了php-fpm

1、复制配置文件
进入/private/etc/ ,找到php-fpm.conf.default,复制一份

cp php-fpm.conf.default php-fpm.conf

2、配置日志文件路径
修改 php-fpm.conf

[global]
error_log = /usr/local/var/log/php-fpm.log

3、修改监听端口
需要与nginx配置的fastcgi_pass项匹配

[www]
listen = 127.0.0.1:9999

如果是高版本

PHP 7.1.23
cd /private/etc
cp php-fpm.conf.default php-fpm.conf
cd /private/etc/php-fpm.d
cp www.conf.default www.conf

4、启动

php-fpm -D
测试

在刚刚配置的nginx root项路径下新建文件index.php

<?php 

echo "<h1>hello php</h1>";

?>

访问: http://localhost:8080/index.php

mac配置nginx和php-fpm_mac

环境搭建完成!

报错解决

在Mac上用brew安装Nginx,然后修改Nginx配置文件,再重启时报出如下错误:

nginx: [error] invalid PID number "" in "/usr/local/var/run/nginx/nginx.pid"

解决办法:

$ nginx -c /usr/local/etc/nginx/nginx.conf
 
$ nginx -s reload

参考:

  1. 教你成为全栈工程师(Full Stack Developer) 五-世界上最好的网站后端语言php

  2. Mac自带PHP启动php-fpm问题解决

  3. nginx: [error] invalid PID number “” in “/usr/local/var/run/nginx/nginx.pid”