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之第二天
Oct 09 PHP
基于PHP生成静态页的实现方法
May 10 PHP
美图秀秀web开放平台--PHP流式上传和表单上传示例分享
Jun 22 PHP
Thinkphp的volist标签嵌套循环使用教程
Jul 08 PHP
php计算两个文件相对路径的方法
Mar 14 PHP
PHP register_shutdown_function()函数的使用示例
Jun 23 PHP
PHP对XML内容进行修改和删除实例代码
Oct 26 PHP
php批量修改表结构实例
May 24 PHP
php判断str字符串是否是xml格式数据的方法示例
Jul 26 PHP
yii gridview实现时间段筛选功能
Aug 15 PHP
php 提交表单 关闭layer弹窗iframe的实例讲解
Aug 20 PHP
PHP join()函数用法与实例讲解
Mar 11 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
世界咖啡生产者论坛呼吁:需要立即就咖啡价格采取认真行动
2021/03/06 咖啡文化
在VS2008中编译MYSQL5.1.48的方法
2010/07/03 PHP
PHP缓存技术的使用说明
2011/08/06 PHP
php5.2 Json不能正确处理中文、GB编码的解决方法
2014/03/28 PHP
php简单复制文件的方法
2016/05/09 PHP
PHP判断当前使用的是什么浏览器(推荐)
2019/10/27 PHP
js removeChild 障眼法 可能出现的错误
2009/10/06 Javascript
JS执行删除前的判断代码
2014/02/18 Javascript
javascript实现当前页导航激活的方法
2015/02/27 Javascript
nodejs实现获取某宝商品分类
2015/05/28 NodeJs
深入理解JavaScript中的call、apply、bind方法的区别
2016/05/30 Javascript
JS中利用swiper实现3d翻转幻灯片实例代码
2017/08/25 Javascript
详解javascript中的变量提升和函数提升
2018/05/24 Javascript
vue 配置多页面应用的示例代码
2018/10/22 Javascript
详解js创建对象的几种方法及继承
2019/04/12 Javascript
vue cli3.0 引入eslint 结合vscode使用
2019/05/27 Javascript
微信小程序wx.navigateTo方法里的events参数使用详情及场景
2020/01/07 Javascript
原生微信小程序开发中 redux 的使用详解
2021/02/18 Javascript
详解python时间模块中的datetime模块
2016/01/13 Python
python实现简单神经网络算法
2018/03/10 Python
python 定义给定初值或长度的list方法
2018/06/23 Python
python多线程并发实例及其优化
2019/06/27 Python
Python使用python-docx读写word文档
2019/08/26 Python
Python实现投影法分割图像示例(一)
2020/01/17 Python
Python 基于FIR实现Hilbert滤波器求信号包络详解
2020/02/26 Python
Django使用list对单个或者多个字段求values值实例
2020/03/31 Python
玖熙女鞋美国官网:Nine West
2016/10/06 全球购物
英国性能汽车零件和发动机配件在线:Maxpeedingrods
2019/11/05 全球购物
laravel使用redis队列实例讲解
2021/03/23 PHP
父母对孩子的寄语
2014/04/09 职场文书
外贸业务员求职信
2014/06/16 职场文书
银行委托书范本
2014/09/28 职场文书
英语投诉信范文
2015/07/03 职场文书
导游词之大雁塔景区
2019/09/17 职场文书
十二月早安励志心语大全
2019/12/03 职场文书
Vue Mint UI mt-swipe的使用方式
2022/06/05 Vue.js