一、安装 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-…