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 相关文章推荐
第八节 访问方式 [8]
Oct 09 PHP
PHPMYADMIN 简明安装教程 推荐
Mar 07 PHP
PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期)
Jul 15 PHP
利用中国天气预报接口实现简单天气预报
Jan 20 PHP
php全角字符转换为半角函数
Feb 07 PHP
php简单实现快速排序的方法
Apr 04 PHP
PHP之正则表达式捕获组与非捕获组(详解)
Jul 29 PHP
yii2高级应用之自定义组件实现全局使用图片上传功能的方法
Oct 08 PHP
thinkphp下MySQL数据库读写分离代码剖析
Apr 18 PHP
PHP的mysqli_sqlstate()函数讲解
Jan 23 PHP
PHP数组遍历的几种常见方式总结
Feb 15 PHP
php封装实现钉钉机器人报警接口的示例代码
Aug 08 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 变量定义方法
2009/06/14 PHP
php代码检查代理ip的有效性
2016/08/19 PHP
laravel如何开启跨域功能示例详解
2017/08/31 PHP
PHP实现创建一个RPC服务操作示例
2020/02/23 PHP
jquery 图片 上一张 下一张 链接效果(续篇)
2010/04/20 Javascript
js null undefined 空区别说明
2010/06/13 Javascript
jquery对元素拖动排序示例
2014/01/16 Javascript
jQuery实现鼠标经过图片预览大图效果
2014/04/10 Javascript
JavaScript中数组成员的添加、删除介绍
2014/12/30 Javascript
javascript制作的简单注册模块表单验证
2015/04/13 Javascript
jQuery实现企业网站横幅焦点图切换功能实例
2015/04/30 Javascript
值得分享的Bootstrap Ace模板实现菜单和Tab页效果
2015/12/30 Javascript
js学习之----深入理解闭包
2016/11/21 Javascript
jQuery实现的无缝广告图片左右滚动功能详解
2016/12/24 Javascript
Vue组件之Tooltip的示例代码
2017/10/18 Javascript
vue.js实现的幻灯片功能示例
2019/01/18 Javascript
在vue中使用G2图表的示例代码
2019/03/19 Javascript
利用不到200行代码写一款属于你自己的js类库
2019/07/08 Javascript
JS秒杀倒计时功能完整实例【使用jQuery3.1.1】
2019/09/03 jQuery
nodejs对mongodb数据库的增加修删该查实例代码
2020/01/05 NodeJs
使用Python的PEAK来适配协议的教程
2015/04/14 Python
Python callable()函数用法实例分析
2018/03/17 Python
Python面向对象之类和对象实例详解
2018/12/10 Python
Python使用LDAP做用户认证的方法
2019/06/20 Python
通过PYTHON来实现图像分割详解
2019/06/26 Python
Django中多种重定向方法使用详解
2019/07/17 Python
Python collections模块的使用方法
2020/10/09 Python
网站性能延迟加载图像的五种技巧(小结)
2020/08/13 HTML / CSS
Java的接口和C++的虚类的相同和不同处
2014/03/27 面试题
外贸学院会计专业应届生求职信
2013/11/14 职场文书
婚前协议书
2014/04/15 职场文书
志愿者活动总结范文
2014/04/26 职场文书
三潭印月的导游词
2015/02/12 职场文书
2015年保卫科工作总结
2015/05/14 职场文书
2019年度行政文员工作计划范本!
2019/07/04 职场文书
解决vue $http的get和post请求跨域问题
2021/06/07 Vue.js