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 OPCode缓存 APC详细介绍
Oct 12 PHP
php 变量未定义等错误的解决方法
Jan 12 PHP
php类中的各种拦截器用法分析
Nov 03 PHP
PHP实现获取文件后缀名的几种常用方法
Aug 08 PHP
php+jQuery递归调用POST循环请求示例
Oct 14 PHP
基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能
Jan 24 PHP
PHP计算近1年的所有月份
Mar 13 PHP
thinkPHP实现的省市区三级联动功能示例
May 05 PHP
php成功操作redis cluster集群的实例教程
Jan 13 PHP
微信公众平台开发教程⑥ 微信开发集成类的使用图文详解
Apr 10 PHP
Laravel框架自定义公共函数的引入操作示例
Apr 16 PHP
php+layui数据表格实现数据分页渲染代码
Oct 26 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
探讨PHP中this,self,parent的区别详解
2013/06/08 PHP
php中ob_flush函数和flush函数用法分析
2015/03/18 PHP
php根据生日计算年龄的方法
2015/07/13 PHP
PHP Yii框架之表单验证规则大全
2015/11/16 PHP
js继承 Base类的源码解析
2008/12/30 Javascript
jQuery Autocomplete自动完成插件
2010/07/17 Javascript
iframe的onload在Chrome/Opera中执行两次Bug的解决方法
2011/03/17 Javascript
jquery简单的拖动效果实现原理及示例
2013/07/26 Javascript
JavaScript的jQuery库中function的存在和参数问题
2015/08/13 Javascript
jQuery获取checkboxlist的value值的方法
2015/09/27 Javascript
基于JavaScript如何实现私有成员的语法特征及私有成员的实现方式
2015/10/28 Javascript
JavaScript多并发问题如何处理
2015/10/28 Javascript
bootstrap布局中input输入框右侧图标点击功能
2016/05/16 Javascript
jQuery与JS加载事件用法分析
2016/09/04 Javascript
浅谈angularjs $http提交数据探索
2017/01/20 Javascript
详解vue父子模版嵌套案例
2017/03/04 Javascript
基于vue.js路由参数的实例讲解——简单易懂
2017/09/07 Javascript
解决axios发送post请求返回400状态码的问题
2018/08/11 Javascript
详解Vue中使用插槽(slot)、聚类插槽
2019/04/12 Javascript
Vue.js轮播图走马灯代码实例(全)
2019/05/08 Javascript
vue组件三大核心概念图文详解
2019/05/30 Javascript
JavaScript面向对象核心知识与概念归纳整理
2020/05/09 Javascript
用Python操作字符串之rindex()方法的使用
2015/05/19 Python
详解Django之auth模块(用户认证)
2018/04/17 Python
PythonWeb项目Django部署在Ubuntu18.04腾讯云主机上
2019/04/01 Python
Windows平台Python编程必会模块之pywin32介绍
2019/10/01 Python
Python配置pip国内镜像源的实现
2020/08/20 Python
暇步士官网:Hush Puppies
2016/09/22 全球购物
欧洲最大的笔和书写专家:The Pen Shop
2017/03/19 全球购物
美国班级戒指、帽子和礼服、毕业产品、年鉴:Balfour
2018/11/01 全球购物
信息管理专业学生自荐信格式
2013/09/22 职场文书
加油口号大全
2014/06/13 职场文书
扶贫办主任查摆“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
公司感恩节活动策划书
2014/10/11 职场文书
2016年学校综治宣传月活动总结
2016/03/16 职场文书
《亲亲我的妈妈》观后感(3篇)
2019/09/26 职场文书