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实现框架(二)
Oct 09 PHP
PHP 页面编码声明方法详解(header或meta)
Mar 12 PHP
Fatal error: Call to undefined function curl_init()解决方法
Apr 09 PHP
php gd2 上传图片/文字水印/图片水印/等比例缩略图/实现代码
May 15 PHP
SWFUpload与CI不能正确上传识别文件MIME类型解决方法分享
Apr 18 PHP
浅析HTTP消息头网页缓存控制以及header常用指令介绍
Jun 28 PHP
如何给phpcms v9增加类似于phpcms 2008中的关键词表
Jul 01 PHP
php保存二进制原始数据为图片的程序代码
Oct 14 PHP
PHP使用正则表达式获取微博中的话题和对象名
Jul 18 PHP
PHP面向对象程序设计实例分析
Jan 26 PHP
PHP 信号管理知识整理汇总
Feb 19 PHP
thinkPHP分页功能实例详解
May 05 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读取大文件的类SplFileObject使用介绍
2014/04/09 PHP
php函数实现判断是否移动端访问
2015/03/03 PHP
PHP使用Face++接口开发微信公众平台人脸识别系统的方法
2015/04/17 PHP
PHP使用preg_split和explode分割textarea存放内容的方法分析
2017/07/03 PHP
Gambit vs ForZe BO3 第三场 2.13
2021/03/10 DOTA
用Javascript获取页面元素的具体位置
2013/12/09 Javascript
js实现jquery的offset()方法实例
2015/01/10 Javascript
js+jquery常用知识点汇总
2015/03/03 Javascript
javascript基础语法学习笔记
2016/01/04 Javascript
jquery取消事件冒泡的三种方法(推荐)
2016/05/28 Javascript
vue.js中v-on:textInput无法执行事件问题的解决过程
2017/07/12 Javascript
Angular使用Md5加密的解决方法
2017/09/16 Javascript
基于对象合并功能的实现示例
2017/10/10 Javascript
react+redux的升级版todoList的实现
2017/12/18 Javascript
Vue实现一个无限加载列表功能
2018/11/13 Javascript
nodejs简单抓包工具使用详解
2019/08/23 NodeJs
微信小程序实现打开并下载服务器上面的pdf文件到手机
2019/09/20 Javascript
vue计算属性无法监听到数组内部变化的解决方案
2019/11/06 Javascript
python实现的二叉树算法和kmp算法实例
2014/04/25 Python
Python程序暂停的正常处理方法
2019/11/07 Python
基于python3抓取pinpoint应用信息入库
2020/01/08 Python
python3中关于excel追加写入格式被覆盖问题(实例代码)
2020/01/10 Python
Python更新所有已安装包的操作
2020/02/13 Python
Virtualenv 搭建 Py项目运行环境的教程详解
2020/06/22 Python
Python环境管理virtualenv&amp;virtualenvwrapper的配置详解
2020/07/01 Python
python基于openpyxl生成excel文件
2020/12/23 Python
python Protobuf定义消息类型知识点讲解
2021/03/02 Python
德国著名廉价网上药店:Shop-Apotheke
2017/07/23 全球购物
迪卡侬波兰体育用品商店:Decathlon波兰
2020/03/31 全球购物
售票员岗位职责
2015/02/15 职场文书
2019如何书写演讲稿?
2019/07/01 职场文书
js Proxy的原理详解
2021/05/25 Javascript
MySQL中IO问题的深入分析与优化
2022/04/02 MySQL
redis protocol通信协议及使用详解
2022/07/15 Redis
Win11使用CAD卡顿或者致命错误怎么办?Win11无法正常使用CAD的解决方法
2022/07/23 数码科技
el-form每行显示两列底部按钮居中效果的实现
2022/08/05 HTML / CSS