mac下搭建nginx、php、php-fpm环境

1,272 阅读2分钟

一、安装 nginx

用 brew 安装 nginx

brew install nginx

查看 nginx 安装详情

brew info nginx

启动 nginx

brew services start nginx  启动
// brew services restart nginx  重启
// brew services stop nginx  关闭

此时,就可以在浏览器访问 127.0.0.1:8080 了。

二、安装 php、php-fpm

mac 自带 php 和 php-fpm,直接使用就行。

启动 php-fpm

php-fpm

这时会报错,具体解决办法参考 ## 五、Mac自带 PHP 启动 php-fpm 问题解决

三、让 nginx 和 php、php-fpm 关联上

修改 /usr/local/etc/nginx/nginx.conf,添加 php 相关配置。还可以自定义 root 目录(可选)。

location ~ \.php$ {
    fastcgi_pass     127.0.0.1:9999;
    fastcgi_index    index.php;
    include          fastcgi_params;
    fastcgi_param    SCRIPT_FILENAME  $document_root$fastcgi_script_name;
} 

在 root 目录下,新建一个 index.php

<!DOCTYPE html>
<html>
<body>
	<?php
		echo "Hello php!!! xxxx";
	?>
</body>
</html>

四、测试环境是否 ok

重新启动 php-fpm、nginx

php-fpm
brew services stop nginx
brew services start nginx

访问 127.0.0.1:8080/index.php,如果页面正常显示,就说明环境 ok 了。

五、Mac自带 PHP 启动 php-fpm 问题解决

Mac 自带 php-fpm,在终端执行 php-fpm,会报如下错误:

ERROR: failed to open configuration file '/private/etc/php-fpm.conf': No such file or directory (2)
ERROR: failed to load configuration file '/private/etc/php-fpm.conf'
ERROR: FPM initialization failed

错误信息显示,不能打开配置文件,cd /private/etc,发现没有 php-fpm.conf 文件,但是有 php-fpm.conf.default 文件。这个文件是默认配置,我们可以复制一份,改名为 php-fpm.conf,然后再根据需要改动配置。

cp /private/etc/php-fpm.conf.default /private/etc/php-fpm.conf

执行 php-fpm,再次报错:

ERROR: failed to open error_log (/usr/var/log/php-fpm.log): No such file or directory (2)
ERROR: failed to post process the configuration
ERROR: FPM initialization failed

错误信息显示,不能打开错误日志文件。cd /usr/var/log 发现根本没有这个目录,甚至连 var 目录都没有,加上为了避免权限问题,干脆配置到 /usr/local/var/log 目录。

修改 php-fpm.conf:
1、将 error_log 配置为 /usr/local/var/log/php-fpm.log
2、并把 user 和 group 改为和当前用户一样,或者注释掉这两句话。

执行 php-fpm,再次报错:

NOTICE: [pool www] 'user' directive is ignored when FPM is not running as root
NOTICE: [pool www] 'group' directive is ignored when FPM is not running as root

于是 sudo php-fpm,再次报错:

ERROR: unable to bind listening socket for address '127.0.0.1:9000': Address already in use (48)
ERROR: FPM initialization failed

编辑 www.conf,修改 listen 为 127.0.0.1:9999。

sudo vim /private/etc/php-fpm.d/www.conf

最后:

开启php-fpm: sudo php-fpm -D

#启动成功

六、参考

juejin.cn/post/684490…
www.jianshu.com/p/6232743f8…
thinkerou.com/post/nginx-…

blog.csdn.net/weixin_3642…
blog.csdn.net/zrainload/a…