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 ...
随机推荐
- ContextLoaderListener 与 ServletDispatcher
网上找了一下关于ContextLoaderListener和ServletDispatcher的解释,这是原文 http://simone-folino.blogspot.com/2012/05/di ...
- 自建一个Java Spring MVC项目
用IDEA Intellij,本来创建的是SpringMVC项目,但是下载的时候,太慢了.所以还是用的Maven项目. 选择Maven 项目->Archetype->Web applica ...
- PHP防抓取数据curl 解决方法
1.使用Snoopy或curl传搜索引擎爬虫的USERAGENT值. 查看搜索引擎爬虫的USERAGENT值:http://www.cnblogs.com/grimm/p/5068092.html ( ...
- idea maven 报-source 1.5 中不支持 diamond 运算符
需要修改 project setting 中的
- dTree无限级文件夹树和JQuery同步Ajax请求
曾经都是用JQuery对树的支持来实现文件夹树的,近来闲来无事就弄了下dTree,感觉其无限级文件夹还是挺好的,并且它的使用也比較方便,基本上就是先把要用的js文件即dtree.js和css文件dtr ...
- strcpy与strncpy
char aa[]="123456789123456789123456789"; char bb[4]={0}; 1.strcpy(bb,aa); bb的空间,不能存下aa的内容, ...
- Linux内核通知链模块
通知链描写叙述 大多数内核子系统都是相互独立的,因此某个子系统可能对其他子系统产生的事件感兴趣. 为了满足这个需求,也即是让某个子系统在发生某个事件时通知其他的子系统.Linux内核提供了通知链的机制 ...
- js看起来比较怪异的写法 (综合)
1.$(function() {}中$是什么意思? <script type="text/javascript"> $(function(){ $("#tre ...
- Binwalk:后门(固件)分析利器
http://blog.csdn.net/testing_is_believing/article/details/14091179 Binwalk介绍 Binwalk是一个固件的分析工具,旨在协助研 ...
- 利用Lucene把文本的字体格式进行改动,然后输出到一个新的文件里
这里书中写的是charactorProcess(File file, String destFile) 这里被我改成.(String file, String destFIle) 一个代表现有的文件 ...