Mac 系统下搭建 Nginx+php-fpm 教程

分享背景

由于一直在虚拟机的状态下开发 PHP,尝试了一下 Mac 本地搭建环境。Mac 本身是自带 Apache+php 的,在低版本的 Mac系统中,Mac 中的 php 版本是 5.6 的版本.

本文分享的是在 macOS 的 10.13 版本。前提是本地已经安装了 brew 包管理工具,如果还没安装的可以参考官网文档安装,传送门.

安装步骤

1.停止本地的 Apache 服务

sudo apachectl stop

2.安装 NGINX

brew install nginx

3.启动 NGINX

// 查看帮助命令
nginx -v
// 重启命令
nginx -s reload

4.访问 NGINX

打开浏览器,输入如下网址,正确的情况就可以看到如下的截图.
http://localhost.com/

图片描述
5.NGINX 项目目录介绍

通过上面的步骤,就表示NGINX已经完成了.这里有几个文件,我们需要关注一下.
1.nginx配置目录
/usr/local/etc/nginx
2.nginx的项目根目录
/usr/local/var/www

6.配置 php (由于 Mac 的高版本中已经内置了 PHP7.1 的版本,该文章也是基于这个基础上操作的.后续完善该文章,实现一个多版本的切换.)

1.去掉nginx.conf中如下代码中的注释(在去掉之前最好备份一份 cp nginx.conf nginx.conf.bak)
location ~ \.php$ {
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}
该段代码的主要意思就是让nginx能够解析到php,不然你去访问php的文件,nginx会默认下载该php文件.在Apache中是以模块的方式加载的php,就是去掉LoadModule php_module libexec/apache2/libphp7.so
2.修改1中的部分配置
原配置中的值为/scripts$fastcgi_script_name, 需要修改为$document_root$fastcgi_script_name
该代码主要的意思就是让nginx能够识别到nginx配置文件中的root项.不然会报not find file错误信息.
<font color='red'>重启nginx服务,nginx -s reload</font>
3.配置php-fpm文件
sudo cp /private/etc/php-fpm.conf.default /private/etc/php-fpm.conf
修改我们新复制的php-fpm.conf文件中的如下配置项目.修改为下面的示例
pid=/var/run/php-fpm.pid
error_log=/var/log/php-fpm.log
4.启动php-fpm服务
sudo php-fpm

启动服务的时候可能会遇到下面的问题,反正我是遇到了(下面的路径根据你图片指示的路径来定,可能有的环境路径不一致).解决办法是
图片描述

cp /data/server/php7/etc/php-fpm.d/www.conf.default /data/server/php7/etc/php-fpm.d/www.conf

然后在启动一次,即可.
5.编写测试文件,我们找到/usr/local/var/www目录,创建一个test.php的文件.写入如下代码.

<?php
phpinfo();
?>

6.测试效果
打开浏览器,访问http://localhost/test.php,即可看到如下效果
图片描述

发表评论

项目已添加到购物车。
0 项 - ¥0.00