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过滤危险html代码
Aug 18 PHP
php 移除数组重复元素的一点说明
Nov 27 PHP
header跳转和include包含问题详解
Sep 08 PHP
php中sprintf与printf函数用法区别解析
Feb 17 PHP
PHP实现对站点内容外部链接的过滤方法
Sep 10 PHP
微信公众平台实现获取用户OpenID的方法
Apr 15 PHP
PHP实现微信发红包程序
Aug 24 PHP
PHP实现搜索地理位置及计算两点地理位置间距离的实例
Jan 08 PHP
php文件上传后端处理小技巧
May 22 PHP
PHP实现支持加盐的图片加密解密
Sep 09 PHP
php实现在线考试系统【附源码】
Sep 18 PHP
laravel异步监控定时调度器实例详解
Jun 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
基于php-fpm的配置详解
2013/06/03 PHP
使用php 获取时间今天明天昨天时间戳的详解
2013/06/20 PHP
php获取url参数方法总结
2014/11/13 PHP
PHP会员找回密码功能的简单实现
2016/09/05 PHP
php利用gd库为图片添加水印
2016/11/09 PHP
基于jquery的下拉框改变动态添加和删除表格实现代码
2020/09/12 Javascript
jQuery中live方法的重复绑定说明
2011/10/21 Javascript
javascript禁制后退键(Backspace)实例代码
2013/11/15 Javascript
jQuery ajax分页插件实例代码
2016/01/27 Javascript
判断JS对象是否拥有某属性的方法推荐
2016/05/12 Javascript
Javascript的无new构建实例详解
2016/05/15 Javascript
AngularJS实现根据变量改变动态加载模板的方法
2016/11/04 Javascript
利用Query+bootstrap和js两种方式实现日期选择器
2017/01/10 Javascript
Bootstrap列表组学习使用
2017/02/09 Javascript
微信小程序使用map组件实现解析经纬度功能示例
2019/01/22 Javascript
js实现拖动缓动效果
2020/01/13 Javascript
JS实现选项卡插件的两种写法(jQuery和class)
2020/12/30 jQuery
[02:14]完美“圣”典2016风云人物:xiao8专访
2016/12/01 DOTA
[01:10:57]Liquid vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
分享几道你可能遇到的python面试题
2017/07/24 Python
使用Python从零开始撸一个区块链
2018/03/14 Python
python百行代码自制电脑端网速悬浮窗的实现
2020/05/12 Python
tensorflow实现残差网络方式(mnist数据集)
2020/05/26 Python
详解python os.path.exists判断文件或文件夹是否存在
2020/11/16 Python
AE美国鹰美国官方网站:American Eagle Outfitters
2016/08/22 全球购物
设计师家具购买和委托在线市场:Viyet
2016/11/16 全球购物
建筑工程实习自我鉴定
2013/09/19 职场文书
工业学校毕业生自荐书
2014/01/03 职场文书
汽车销售员如何做职业生涯规划
2014/02/16 职场文书
爱情保证书大全
2014/04/29 职场文书
班子四风对照检查材料思想汇报
2014/09/29 职场文书
公务员考察材料范文
2014/12/23 职场文书
小学主题班会教案
2015/08/17 职场文书
体育教师研修感悟
2015/11/18 职场文书
导游词之开封禹王台风景区
2019/12/02 职场文书
我的收音机情缘
2022/04/05 无线电