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 相关文章推荐
PHP4实际应用经验篇(4)
Oct 09 PHP
php session 错误
May 21 PHP
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
Apr 07 PHP
php生成随机密码的三种方法小结
Sep 04 PHP
PHP中全面阻止SQL注入式攻击分析小结
Jan 30 PHP
Laravel 5 框架入门(一)
Apr 09 PHP
PHP内存使用情况如何获取
Oct 10 PHP
php+mysql查询实现无限下级分类树输出示例
Oct 03 PHP
PHP封装的PDO数据库操作类实例
Jun 21 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
Oct 10 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
Nov 12 PHP
PHP 使用二进制保存用户状态的实例
Jan 29 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中MVC模式的模板引擎开发经验分享
2011/03/23 PHP
解析mysql 表中的碎片产生原因以及清理
2013/06/22 PHP
preg_match_all使用心得分享
2014/01/31 PHP
PHP 导出Excel示例分享
2014/08/18 PHP
thinkphp判断访客为手机端或PC端的方法
2014/11/24 PHP
php控制文件下载速度的方法
2015/03/24 PHP
thinkPHP中钩子的两种配置调用方法详解
2016/11/11 PHP
PHP简单计算两个时间差的方法示例
2017/06/20 PHP
360搜索引擎自动收录php改写方案
2018/04/28 PHP
javascript Base类 包含基本的方法
2009/07/22 Javascript
javascript 自定义回调函数示例代码
2014/09/26 Javascript
基于JavaScript如何实现私有成员的语法特征及私有成员的实现方式
2015/10/28 Javascript
快速使用node.js进行web开发详解
2017/04/26 Javascript
Node.js中sequelize时区的配置方法
2017/12/10 Javascript
vue 刷新之后 嵌套路由不变 重新渲染页面的方法
2018/09/13 Javascript
创建Vue项目以及引入Iview的方法示例
2018/12/03 Javascript
生产制造追溯系统之再说条码打印
2019/06/03 Javascript
基于vue-draggable 实现三级拖动排序效果
2020/01/10 Javascript
[01:00:30]TFT vs VGJ.T Supermajor 败者组 BO3 第一场 6.5
2018/06/06 DOTA
[01:10:58]KG vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
[03:39]这就是刀塔,我们是冠军!燃情短片讲述我们的DOTA故事
2019/07/02 DOTA
Python django框架应用中实现获取访问者ip地址示例
2019/05/17 Python
Django接收照片储存文件的实例代码
2020/03/07 Python
美国波西米亚风格服装品牌:Show Me Your Mumu
2018/01/05 全球购物
以工厂直接定价的传奇性能:Ben Hogan Golf
2019/01/04 全球购物
英国第一摩托车和摩托车越野配件商店:GhostBikes
2019/03/10 全球购物
网络维护中文求职信
2014/01/03 职场文书
《李时珍夜宿古寺》教学反思
2014/04/09 职场文书
2014年师德师风学习材料
2014/05/16 职场文书
路政管理求职信
2014/06/18 职场文书
分公司总经理岗位职责
2014/07/30 职场文书
有关九一八事变的演讲稿
2014/09/14 职场文书
保险内勤岗位职责
2015/04/13 职场文书
餐饮服务食品安全承诺书
2015/04/29 职场文书
神州牡丹园的导游词
2019/11/20 职场文书
mysql知识点整理
2021/04/05 MySQL