MAC-brew安装 php7 nginx mysql

环境 MAC OSX 10.11.5 EI CAPITAN


准备安装LNMP


由于OSX10.11 开启了Integrity Security 系统文件不能随便删除(非要关掉这个功能的话可以查看相关文章)所以我这里就不删除系统自带的apache和php5.5了。


1.安装nginx


brew install nginx


安装完后,先不急着修改配置文件


先设置权限


sudo chown root:wheel/usr/local/opt/nginx/bin/nginx


sudo chmod u+s/usr/local/opt/nginx/bin/nginx


如果想设开机启动的话


mkdir -p ~/Library/LaunchAgents


cp /usr/local/opt/nginx/homebrew.mxcl.nginx.plist ~/Library/LaunchAgents/


launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist


launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist(取消开机启动)


nginx命令


sudo nginx #打开 nginx


nginx -s reload|reopen|stop|quit #重新加载配置|重启|停止|退出 nginx


nginx -t #测试配置是否有语法错误


如果提示pid丢失的话,就用这句话


nginx -c "/usr/local/etc/nginx/nginx.conf"


好了nginx安装完毕,大家可以localhost一下,就可以看到nginx的信息了


2.安装mysql


brew install mysql


加入开机启动cp /usr/local/opt/mysql/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents/launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist


launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist(取消开机启动)


初始化mysql


cd /usr/local/Cellar/mysql/5.7.11/bin


mysql_install_db


设置root账户和密码


./mysql_secure_installation 一直跟着提示走就行

3.安装php7


brew install php70 --without-apache --with-fpm


因为我们用nginx,所有--without-apache,并且加上--with-fpm来编译php


安装完成后,加入全局变量


vim ~/.bash_profile 添加 export PATH=/usr/local/bin:/usr/sbin:$PATH


然后 vim ~/.bashrc 添加 export PATH = "$(brew --prefix homebrew/php/php70)/bin:$PATH"


最后 sourc ~/.bash_profile source ~/.bashrc


然后加入开机自启


mkdir -p ~/Library/LaunchAgents cp /usr/local/opt/php70/homebrew.mxcl.php70.plist ~/Library/LaunchAgents/ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php70.plist

5.安装php扩展包


其实很简单,比如你想安装php7的xdebug扩展,就brew install php70-xdebug,想安装mcrypt就 brew install php70-mcrypt


如果想按5.6的就 brew install php56-xxxx,是不so easy,另外你可以 brew search php70,可以看到所有php7的扩展库,同理


也可以查php56的

6.配置nginx 和 php-fpm


nginx 配置 很简单,nginx的配置文件在 /usr/local/etc/nginx/文件中 vim nginx.conf


然后 根据 自己的需求去配置就行,这里就不用详细说了


php-fpm的配置: 先cd到 /usr/local/etc/php,你可以看到7.0和5.6这俩个文件夹,至于你想要改哪个,就改就行


这没什么配置的,就是把nginx和fpm的端口统一就行

7.最后关键


每次修改了php.ini文件。都要重启php-fpm,就行启动apache一样,不过这会不用重启nginx


重启步骤


sudo killall php-fpm 先停掉所有php-fpm的进程


cd /usr/local/Cellar/php/版本号/sbin


不同版本的php,sbin目录里会有不同的php-fpm,比如php7.0的是php70-fpm, php5.6.18的是 php56-fpm,你想启动哪个fpm就


敲 sudo ./php70-fpm start 或php56-fpm start就行

tags: 陈帅,Lnmp