又是一篇杂谈,只是用来记录一些不成规律的小东西。php
最近由于mac系统升级,原先被删掉的apache2忽然又冒出来,而后memcache找不到,php.ini修改失效等等,各路奇葩问题都显现出来。html
心伤~mysql
再三折磨后,决定一击毙之,所有删除php、nginx、apache、pear、macport等等,改用homebrew从新装。nginx
过程至关简单,效果也不错,homebrew显然优势很明显,编译安装后位置集中,统一放在/usr/local/下,配置在/usr/local/ect/下,执行文件放在/usr/local/bin或者sbin下,源文件放在git
/usr/local/Cellar/下。很棒!sql
1、安装homebrew也很简单,到官网复制一个命令,自动安装。(官网地址:http://brew.sh/index_zh-cn.html)apache
2、安装后,
php-fpm
brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php
brew install git
(安装git这个我没试,由于以前已经装过了,不知道是否必须装) brew update
spa
3、若是以前已经装过macport、pear、nginx、apache等等的,最好运行brew doctor看一下。code
brew doctor
它会告诉你,哪些文件须要删除,哪些对之后的安装有影响。(很重要)
4、brew search 命令搜索你要安装的东西。
brew search nginx (将列出相关nginx)或者 brew search php (列出全部php相关)
5、brew install 命令直接安装
brew install nginx
6、查看终端输出,千万别一看到安装成功,没有error,就以为结束了,要看看里面的英文,不少时候会有一些事要作。
好比:nginx要开机启动相关的一些命令或者php命令要建一下软链接之类,它会有提示和具体命令,只要复制粘贴过来,运行一下便可。easy~
7、开启,sudo nginx
重启:sudo nginx -s reload
8、安装php
brew install php55 --with-fpm //必定要带上fpm,默认是不安装的,到时nginx报502 网关错误就蛋疼鸟~
备注:
一、不少时候,brew安装失败,都是由于以前的残余文件没删干净,致使安装失败,深有体会,故此特做提醒,多用brew doctor。
为了加固记忆警醒后人,举一小例子。好比pear没删干净,安装brew install php55 --with--fpm ,报错,pear没删干净,要删掉Users目录下pear.conf和
.pearrc,以及/usr/local/etc 和lib 还有share中。
二、有时安装成功,但link不成功,brew会要求你运行brew link **** (某个formula),但这时很容易报错,由于每每是brew自动执行不了,才要你手动link。
这时咱们能够用:brew link ****(好比php55) ---overwrite 。通常均可以解决。若是某些文件实在权限过高,没法覆盖,根据提示挨个删除或者修改权限。
三、对于安装php55或其余一些软件,须要带上附件的,能够经过如下命令查看。
brew options php55
备注:man php-fpm 后能够看的
四、不少502 网关错误,都是由于php-fpm没调起来~ 很常见~ 各位注意~
五、brew 安装完php和php-fpm后,会将/usr/local/Cellar/php55/5.5.11/ 下的bin或者sbin中的php、php-cgi、php-fpm、phpize等等,生成硬连接到/usr/bin或者sbin中,同时会生成软连接到 /usr/local/bin或者sbin中,软连接用ls -l能够看出来,但硬连接看不出来哦~
相关连接:
http://dhq.me/mac-install-nginx-mysql-php-fpm //good
http://lukin.cn/p/MAC_OSX_Install_Nginx_PHP-FPM.html
http://www.kimhou.com/?p=302