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文件上传原理简单分析
May 29 PHP
解析PHP函数array_flip()在重复数组元素删除中的作用
Jun 27 PHP
CodeIgniter生成网站sitemap地图的方法
Nov 13 PHP
Thinkphp的volist标签嵌套循环使用教程
Jul 08 PHP
20个2014年最优秀的PHP框架回顾
Oct 22 PHP
php实现的mongodb操作类实例
Apr 03 PHP
php+html5基于websocket实现聊天室的方法
Jul 17 PHP
基于命令行执行带参数的php脚本并取得参数的方法
Jan 25 PHP
PHP 获取指定地区的天气实例代码
Feb 08 PHP
使用一个for循环将N*N的二维数组的所有值置1实现方法
May 29 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
Sep 16 PHP
YII2框架中behavior行为的理解与使用方法示例
Mar 13 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
浅析Mysql 数据回滚错误的解决方法
2013/08/05 PHP
php判断文件夹是否存在不存在则创建
2015/04/09 PHP
PHP实现批量上传单个文件
2015/12/29 PHP
JavaScript入门教程(3) js面向对象
2009/01/31 Javascript
js 点击按钮弹出另一页,选择值后,返回到当前页
2010/05/26 Javascript
在JQuery dialog里的服务器控件 事件失效问题
2010/12/08 Javascript
jQuery EasyUI API 中文文档 - Form表单
2011/10/06 Javascript
深入理解JavaScript系列(6) 强大的原型和原型链
2012/01/15 Javascript
JS实现的网页倒计时数字时钟效果
2015/03/02 Javascript
javascript实现unicode与ASCII相互转换的方法
2015/12/10 Javascript
JS获取地址栏参数的两种方法(简单实用)
2016/06/14 Javascript
Javascript使用uploadify来实现多文件上传
2016/11/16 Javascript
浅谈Node.js:fs文件系统模块
2016/12/08 Javascript
利用JavaScript实现栈的数据结构示例代码
2017/08/02 Javascript
Angular使用操作事件指令ng-click传多个参数示例
2018/03/27 Javascript
快速搭建vue2.0+boostrap项目的方法
2018/04/09 Javascript
JavaScript遍历数组的方法代码实例
2020/01/14 Javascript
JavaScript语句错误throw、try及catch实例解析
2020/08/18 Javascript
详解Vue中Axios封装API接口的思路及方法
2020/10/10 Javascript
[03:12]完美世界DOTA2联赛PWL DAY7集锦
2020/11/06 DOTA
Python实现全角半角转换的方法
2014/08/18 Python
Python实现简单拆分PDF文件的方法
2015/07/30 Python
学习python可以干什么
2019/02/26 Python
Docker部署Python爬虫项目的方法步骤
2020/01/19 Python
HTML5新增的Css选择器、伪类介绍
2013/08/07 HTML / CSS
详解HTML5如何使用可选样式表为网站或应用添加黑暗模式
2020/04/07 HTML / CSS
美国市场上最实惠的送餐服务:Dinnerly
2018/03/18 全球购物
学习雷锋做美德少年寄语大全
2014/04/09 职场文书
大一新生学期自我评价
2014/04/09 职场文书
出售房屋协议书范本
2014/10/06 职场文书
2014乡镇党委副书记对照检查材料思想汇报
2014/10/09 职场文书
烟台的海导游词
2015/02/02 职场文书
计生个人工作总结
2015/02/28 职场文书
课题研究阶段性总结
2015/08/13 职场文书
Mongodb 迁移数据块的流程介绍分析
2022/04/18 MongoDB
安装Windows Server 2012 R2企业版操作系统并设置好相关参数
2022/04/29 Servers