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的输入输出流
Feb 14 PHP
用php实现的获取网页中的图片并保存到本地的代码
Jan 05 PHP
PHP设计模式之责任链模式的深入解析
Jun 13 PHP
生成随机字符串和验证码的类的PHP实例
Dec 24 PHP
ThinkPHP的模版中调用session数据的方法
Jul 01 PHP
ThinkPHP基于PHPExcel导入Excel文件的方法
Oct 15 PHP
PHP中strtr字符串替换用法详解
Nov 26 PHP
跨浏览器PHP下载文件名中的中文乱码问题解决方法
Mar 05 PHP
PHP实现上传文件并存进数据库的方法
Jul 16 PHP
PHP MVC框架skymvc支持多文件上传
May 26 PHP
PHP实现的自定义图像居中裁剪函数示例【测试可用】
Aug 11 PHP
简单实现php上传文件功能
Sep 21 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
四月新番又没了,《Re:从零开始的异世界生活》第二季延期至7月播出
2020/05/06 日漫
一个改进的UBB类
2006/10/09 PHP
memcache命令启动参数中文解释
2014/01/13 PHP
PHP date()函数警告: It is not safe to rely on the system解决方法
2014/08/20 PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
2016/09/11 PHP
Laravel学习教程之model validation的使用示例
2017/10/23 PHP
fancybox1.3.1 基于Jquery的插件在IE中图片显示问题
2010/10/01 Javascript
js 事件处理函数间的Event物件是否全等
2011/04/08 Javascript
jQuery EasyUI API 中文文档 - Dialog对话框
2011/11/15 Javascript
JavaScript词法作用域与调用对象深入理解
2012/11/29 Javascript
JavaScript中圆括号()和方括号[]的特殊用法疑问解答
2013/08/06 Javascript
JavaScript实现点击自动选择TextArea文本的方法
2015/07/02 Javascript
jquery单击事件和双击事件冲突解决方案
2016/03/02 Javascript
javascript入门之数组[新手必看]
2016/11/21 Javascript
深入浅析Vue不同场景下组件间的数据交流
2017/08/15 Javascript
关于JavaScript的单双引号嵌套问题
2017/08/20 Javascript
node文字生成图片的示例代码
2017/10/26 Javascript
jQuery niceScroll滚动条错位问题的解决方法
2018/02/03 jQuery
NodeJS父进程与子进程资源共享原理与实现方法
2018/03/16 NodeJs
layui select获取自定义属性方法
2018/08/15 Javascript
解决layui上传文件提示上传异常,实际文件已经上传成功的问题
2018/08/19 Javascript
详解TypeScript+Vue 插件 vue-class-component的使用总结
2019/02/18 Javascript
Javascript幻灯片播放功能实现过程解析
2020/05/07 Javascript
Python中使用glob和rmtree删除目录子目录及所有文件的例子
2014/11/21 Python
Python实现登录接口的示例代码
2017/07/21 Python
Python标准库笔记struct模块的使用
2018/02/22 Python
Python 动态导入对象,importlib.import_module()的使用方法
2019/08/28 Python
Python socket聊天脚本代码实例
2020/01/02 Python
python使用多线程+socket实现端口扫描
2020/05/28 Python
土木工程应届生自荐信
2013/09/24 职场文书
大学同学聚会邀请函
2014/01/29 职场文书
春风行动实施方案
2014/03/28 职场文书
文化产业实施方案
2014/06/07 职场文书
经费申请报告
2015/05/15 职场文书
青春雷锋观后感
2015/06/10 职场文书
小学生红领巾广播稿
2015/08/19 职场文书