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 相关文章推荐
关于文本留言本的分页代码
Oct 09 PHP
一个MYSQL操作类
Nov 16 PHP
表格展示无限级分类(PHP版)
Aug 21 PHP
PHP统计nginx访问日志中的搜索引擎抓取404链接页面路径
Jun 30 PHP
Fedora下安装php Redis扩展笔记
Sep 03 PHP
WordPress开发中自定义菜单的相关PHP函数使用简介
Jan 05 PHP
PHP的Yii框架中移除组件所绑定的行为的方法
Mar 18 PHP
php 实现进制相互转换
Apr 07 PHP
PHP+sqlite数据库操作示例(创建/打开/插入/检索)
May 26 PHP
PHP实现随机生成水印图片功能
Mar 22 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
Feb 21 PHP
Centos7安装swoole扩展操作示例
Mar 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
33道php常见面试题及答案
2015/07/06 PHP
php中preg_match的isU代表什么意思
2015/10/01 PHP
用HTML/JS/PHP方式实现页面延时跳转的简单实例
2016/07/18 PHP
php实现留言板功能(会话控制)
2017/05/23 PHP
javaScript - 如何引入js代码
2021/03/09 Javascript
utf8的编码算法 转载
2006/12/27 Javascript
JS类库Bindows1.3中的内存释放方式分析
2007/03/08 Javascript
js操作iframe兼容各种主流浏览器示例代码
2013/07/22 Javascript
给文字加上着重号的JS代码
2013/11/12 Javascript
jquery访问ashx文件示例代码
2014/08/11 Javascript
Bootstrap每天必学之警告框插件
2016/04/26 Javascript
jQuery获取浏览器类型和版本号的方法
2016/07/05 Javascript
只要1K 纯JS脚本送你一朵3D红色玫瑰
2016/08/09 Javascript
JavaScript原生数组Array常用方法
2017/04/06 Javascript
webpack4.0打包优化策略整理小结
2018/03/30 Javascript
nodejs的路径问题的解决
2018/06/30 NodeJs
vue实现表单未编辑或未保存离开弹窗提示功能
2020/04/08 Javascript
Vue和React有哪些区别
2020/09/12 Javascript
[01:54]TI4西雅图DOTA2选手欢迎晚宴 现场报道
2014/07/08 DOTA
[02:19]2014DOTA2国际邀请赛 专访820少年们一起去追梦吧
2014/07/14 DOTA
python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
2014/08/22 Python
MySQL最常见的操作语句小结
2015/05/07 Python
Python函数可变参数定义及其参数传递方式实例详解
2015/05/25 Python
Python进阶篇之字典操作总结
2016/11/16 Python
python查看微信好友是否删除自己
2016/12/19 Python
Django 导出项目依赖库到 requirements.txt过程解析
2019/08/23 Python
django认证系统实现自定义权限管理的方法
2019/08/28 Python
Django --Xadmin 判断登录者身份实例
2020/07/03 Python
Django框架安装及项目创建过程解析
2020/09/14 Python
css3过渡_动力节点Java学院整理
2017/07/11 HTML / CSS
红色电影观后感
2015/06/18 职场文书
查看nginx配置文件路径和资源文件路径的方法
2021/03/31 Servers
MySQL命令行操作时的编码问题详解
2021/04/14 MySQL
Java中PriorityQueue实现最小堆和最大堆的用法
2021/06/27 Java/Android
Java Kafka 消费积压监控的示例代码
2021/07/01 Java/Android
Tomcat配置访问日志和线程数
2022/05/06 Servers