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 和 MYSQL
Oct 09 PHP
利用PHP实现与ASP Banner组件相似的类
Oct 09 PHP
php xml实例 留言本
Mar 20 PHP
PHP 批量更新网页内容实现代码
Jan 05 PHP
PHP 类商品秒杀计时实现代码
May 05 PHP
php入门之连接mysql数据库的一个类
Apr 21 PHP
php分页代码学习示例分享
Feb 20 PHP
Codeigniter实现发送带附件的邮件
Mar 19 PHP
php限制文件下载速度的代码
Oct 20 PHP
PHP可变变量学习小结
Nov 29 PHP
php HTML无刷新提交表单
Apr 05 PHP
php实现小程序支付完整版
Oct 09 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 array_multisort函数 对数据库结果进行复杂排序
2013/06/08 PHP
PHP处理Oracle的CLOB实例
2014/11/03 PHP
Linux服务器下PHPMailer发送邮件失败的问题解决
2017/03/04 PHP
[原创]PHP获取数组表示的路径方法分析【数组转字符串】
2017/09/01 PHP
javascript 词法作用域和闭包分析说明
2010/08/12 Javascript
CodeMirror2 IE7/IE8 下面未知运行时错误的解决方法
2012/03/29 Javascript
使用js获取图片原始尺寸
2014/12/03 Javascript
jquery禁止回车触发表单提交
2014/12/12 Javascript
jquery 根据name名获取元素的value值
2015/02/27 Javascript
jQuery获取checkboxlist的value值的方法
2015/09/27 Javascript
使用JavaScript解决网页图片拉伸问题(推荐)
2016/11/25 Javascript
微信小程序  http请求封装详解及实例代码
2017/02/15 Javascript
js实现上下左右弹框划出效果
2017/03/08 Javascript
使用vue.js编写蓝色拼图小游戏
2017/03/17 Javascript
微信小程序动态显示项目倒计时效果
2017/06/13 Javascript
vue强制刷新组件的方法示例
2019/02/28 Javascript
浅谈vue.use()方法从源码到使用
2019/05/12 Javascript
Python处理Excel文件实例代码
2017/06/20 Python
Python实现的生产者、消费者问题完整实例
2018/05/30 Python
Python图像处理之图像的缩放、旋转与翻转实现方法示例
2019/01/04 Python
python3 线性回归验证方法
2019/07/09 Python
python elasticsearch从创建索引到写入数据的全过程
2019/08/04 Python
python实现简单飞行棋
2020/02/06 Python
python pprint模块中print()和pprint()两者的区别
2020/02/10 Python
Python实现分数序列求和
2020/02/25 Python
windows python3安装Jupyter Notebooks教程
2020/04/13 Python
Python3自定义json逐层解析器代码
2020/05/11 Python
Python爬虫爬取新闻资讯案例详解
2020/07/14 Python
Python迭代器协议及for循环工作机制详解
2020/07/14 Python
python 利用opencv实现图像网络传输
2020/11/12 Python
游戏商店:Eneba
2020/04/25 全球购物
初级会计求职信范文
2014/02/15 职场文书
《称象》教学反思
2014/04/25 职场文书
领导干部整治奢华浪费之风思想汇报
2014/10/07 职场文书
煤矿施工安全协议书
2016/03/22 职场文书
Python中的xlrd模块使用整理
2021/06/15 Python