Mac OS下配置PHP Nginx PHP-FPM
首先需要安装homebrew
, 不赘述了
php-fpm
php-fpm
是mac下自带的软件, 而且兼容不同的PHP版本, 不用额外安装, 但是fpm是需要配置的, 在/private/etc
下有个模板, 执行
cd /private/etc
cp php-fpm.conf.default php-fpm.conf
- 修改php-fpm.conf中的listen行, 将
listen = 127.0.0.1
改为listen = /tmp/php-fpm.sock
, 这样运行php-fpm后就会生成/tmp/php-fpm.sock
文件, nginx可以与这个socket文件交互了(当然也可以用默认的监听端口的方式, 但是指定socket的方式可以避免端口占用的问题, 我认为要放心一些) - 修改
error_log
项, 改为error_log = /usr/local/var/log/php-fpm.log
- 修改
pid
项, 改为pid = /usr/local/var/run/php-fpm.pid
, pid文件记录fpm的pid, 后续可以用cat /usr/local/var/run/php-fpm.pid
的方式获得pid sudo php-fpm
, 大功告成!
php
我安装了php56
, 后来又安装了php54
...brew install php56
即可
设置php56开机启动
ln -sfv /usr/local/opt/php56/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.php56.plist
在命令行中运行php时, 还需要指定shell环境下的php版本号, 导入环境变量, 在~/.zshrc
中添加一行
export PATH="$(brew --prefix php56)/bin:$PATH"
, 重启zsh, 搞定!
问题解决
过程中碰到[crit] 2963#0: *138 connect() to unix:/tmp/php5-fpm.sock failed (13: Permission denied) while connecting to upstream
的问题, google到解决方案, 这是由于没有指定nginx的用户, nginx的用户没有权限访问fpm造成的
在/private/etc/php-fpm.conf
中找到listen
行, 在后面添加
listen.owner = nobody
listen.group = nobody
并且在/usr/local/etc/nginx/nginx.conf
中找到user
行, 默认的是被注释掉的, 取消注释, 这时的用户是nobody, 重启nginx和fpm, 问题得到解决
仍然存在的问题 && 收获
本来是为了装phpmyadmin才配的php环境, 现在还是没装好(╯‵□′)╯︵┻━┻ 始终报"Primary Script Unknown"的错误, 暂时不管它了, 换一个图形化工具管理MySQL好了, 还是做项目要紧...另外, 真的是对nginx配置非常不熟, 依然处于需要的时候各种google加复制粘贴, 有空一定要好好学习一下...
这次折腾发现了两个不错的链接nginx pitfalls和nginx配置分析, 后一篇给了几个不错的链接, 要好好消化下.
orz...
Mac OS下配置PHP Nginx PHP-FPM的更多相关文章
- 在Mac OS下配置PHP开发环境
实在厌倦了windows无缘无故的宕机.病毒了吗,哈哈哈,这个跟我都没什么关系.准备使用下现如今牛X到不行的云平台没有办法只好研究下PHP. 现在的云平台支持的语言只有PHP.Java和Python. ...
- 在MAC OS 下配置python + Flask ,并支持pyCharm编辑器
原创咯- flask是一个micro framework ,伸缩性很强.可以部署到openshift 的PAAS里.这个框架上手非常快.喜欢的可以试试. 若实在MAC里,python已经默认安装了.1 ...
- Mac OS下配置 ADB环境变量
前提已经安装了Android sdk. 步骤打开终端Terminal, 输入open -e ~/.bash_profile, 若之前没有该文件,会自动创建.添加内容 export PATH=${PAT ...
- Mac OS下配置Eclipse C++的方法
http://nonlz.blog.163.com/blog/static/128872032201262622921622/
- mac os 下搭建android开发环境
mac os 下搭建android开发环境 周银辉 mac os 下搭建android环境比较方便, 如下几个步骤: 1,安装jdk 先搞清楚自己是否已经安装,在命令行下:java -version, ...
- Mac电脑下配置maven环境变量
Mac电脑下配置maven环境变量 打开终端,使用 touch 命令创建 .bash_profile 文件 touch .bash_profile 编辑刚刚创建的文件 .bash_profile vi ...
- mac os 下的sublime --- 快捷键
mac os 下的sublime ---列模式 http://www.oschina.net/question/249672_161413 触控板也可以的:左手同时按住 Option 和触控板左下角 ...
- Mac OS下编写对拍程序
介绍 对拍是信息学竞赛中重要的技巧,它通过一个效率低下但正确率可以保证的程序,利用庞大的随机生成数据来验证我们的高级算法程序.对拍最大的优势在于可以通过人力所不能及的速度和数量达到验证的效果.下面我们 ...
- MAC OS下免费下载YouTube
YouTube上有很多不错的视频,你感兴趣的视频除了可以加入自己播放列表之外,还可以将其下载到本地收藏起来.推荐这款软件“Xilisoft Download YouTube Video for Mac ...
随机推荐
- Spark Streaming中空batches处理的两种方法(转)
原文链接:Spark Streaming中空batches处理的两种方法 Spark Streaming是近实时(near real time)的小批处理系统.对给定的时间间隔(interval),S ...
- 如何配置通过Fiber Channel连接主机与存储
在一台Windows Client上, 安装免费的Cisco Fabric Manager. 笔者安装的是Fabric Manager 5.0(7). 注意, 这台Windows Client上应该安 ...
- java Socket通信使用BufferedReader和BufferedWriter的注意事项
注意事项:readLine()要求有换行标识,write()要输出换行标识,要调用flush()刷新缓冲区. 以下是取自java socket通信中的一小段代码. BufferedReader rea ...
- Codeforces Round #208 E. Dima and Kicks
E. Dima and Kicks ...
- Java中解压文件名有中文的rar包出现乱码问题的解决
import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import j ...
- 浅析JDK中ServiceLoader的源码
前提 紧接着上一篇<通过源码浅析JDK中的资源加载>,ServiceLoader是SPI(Service Provider Interface)中的服务类加载的核心类,也就是,这篇文章先介 ...
- localhost连接慢如何解决?
localhost连接慢如何解决 php 环境本地用ip连接mysql响应快, 今天碰到一个连接mysql的怪问题,我在php 环境本地用ip连接mysql响应快,用localhost连接慢,后来百度 ...
- OpenERP财务管理若干概念讲解
来自:http://shine-it.net/index.php/topic,2431.0.html 一.记账凭证(Account Move) 会计上的记账凭证,也叫会计分录,在OpenERP中叫&q ...
- Linux中more和less命令用法(转)
一.more命令 more功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上. more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 ...
- 在MVC的cshtml视图页获取默认路由下的ID值的方法
<a href="/user/resume/index/11"> <span class="title bold">我的 @Reques ...