Mac系统下搭建Nginx+php-fpm实例讲解


Posted in PHP onDecember 15, 2020

分享背景

由于一直在虚拟机的状态下开发PHP,尝试一下mac本地搭建环境.mac本身是自带Apache+php的,在低版本的mac系统中,mac中的php版本是5.6的版本.
本文分享的是在mac的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/

Mac系统下搭建Nginx+php-fpm实例讲解

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

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

Mac系统下搭建Nginx+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的文件.写入如下代码.

phpinfo();

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

Mac系统下搭建Nginx+php-fpm实例讲解

到此这篇关于Mac系统下搭建Nginx+php-fpm实例讲解的文章就介绍到这了,更多相关Mac系统下搭建Nginx+php-fpm内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PHP 相关文章推荐
PHP与C#分别格式化文件大小的代码
May 14 PHP
PHP If Else(elsefi) 语句
Apr 07 PHP
php与Mysql的一些简单的操作
Feb 26 PHP
php中explode的负数limit用法分析
Feb 27 PHP
PHP中数据类型转换的三种方式
Apr 02 PHP
PHP的邮件群发系统phplist配置方法详细总结
Mar 30 PHP
php版银联支付接口开发简明教程
Oct 14 PHP
Ajax+Jpgraph实现的动态折线图功能示例
Feb 11 PHP
PHP生成随机码的思路与方法实例探索
Apr 11 PHP
laravel-admin 在列表页添加自定义按钮的例子
Sep 30 PHP
PHP 图片合成、仿微信群头像的方法示例
Oct 25 PHP
phpmyadmin在宝塔面板里进不去的解决方案
Jul 06 PHP
php在linux环境中如何使用redis详解
Dec 15 #PHP
PHP文件操作简单介绍及函数汇总
Dec 11 #PHP
PHP SESSION跨页面传递失败解决方案
Dec 11 #PHP
PHP生成随机密码4种方法及性能对比
Dec 11 #PHP
通过代码实例解析PHP session工作原理
Dec 11 #PHP
深入解析PHP底层机制及相关原理
Dec 11 #PHP
基于PHP实现发微博动态代码实例
Dec 11 #PHP
You might like
Yii2如何批量添加数据
2016/05/17 PHP
PHP简单检测网址是否能够正常打开的方法
2016/09/04 PHP
PHP类的特性实例分析
2016/09/28 PHP
PHP请求远程地址设置超时时间的解决方法
2016/10/29 PHP
Javascript 陷阱 window全局对象
2008/11/26 Javascript
iframe自适应宽度、高度 ie6 7 8,firefox 3.86下测试通过
2010/07/29 Javascript
js 调用父窗口的具体实现代码
2013/07/15 Javascript
jQuery实现简单二级下拉菜单
2015/04/12 Javascript
javascript实现根据iphone屏幕方向调用不同样式表的方法
2015/07/13 Javascript
实例讲解JS中setTimeout()的用法
2016/01/28 Javascript
js获取上传文件的绝对路径实现方法
2016/08/02 Javascript
AngularJS基础 ng-readonly 指令简单示例
2016/08/02 Javascript
Bootstrap实现带暂停功能的轮播组件(推荐)
2016/11/25 Javascript
详解angular中如何监控dom渲染完毕
2017/01/03 Javascript
微信小程序  checkbox组件详解及简单实例
2017/01/10 Javascript
理解javascript中的闭包
2017/01/11 Javascript
Vue.js自定义指令的用法与实例解析
2017/01/18 Javascript
Node.js中DNS模块学习总结
2018/02/28 Javascript
小程序显示弹窗时禁止下层的内容滚动实现方法
2019/03/20 Javascript
vue实现路由切换改变title功能
2019/05/28 Javascript
基于Electron实现桌面应用开发代码实例
2020/07/07 Javascript
[06:24]DOTA2 2015国际邀请赛中国区预选赛第二日TOP10
2015/05/27 DOTA
[32:36]完美世界DOTA2联赛PWL S3 LBZS vs CPG 第二场 12.12
2020/12/16 DOTA
python 查找文件夹下所有文件 实现代码
2009/07/01 Python
Python使用稀疏矩阵节省内存实例
2014/06/27 Python
Python Datetime模块和Calendar模块用法实例分析
2019/04/15 Python
基于django micro搭建网站实现加水印功能
2020/05/22 Python
css3 clip实现圆环进度条的示例代码
2018/02/07 HTML / CSS
台湾深度自由行旅游平台:Tripbaa趣吧
2017/10/10 全球购物
亚马逊意大利站点:Amazon.it
2020/12/31 全球购物
我的求职计划书
2014/01/10 职场文书
信息与计算科学专业推荐信
2014/02/23 职场文书
大课间体育活动方案
2014/03/12 职场文书
毕业生工作求职信
2014/06/30 职场文书
小人国观后感
2015/06/11 职场文书
pytorch中[..., 0]的用法说明
2021/05/20 Python