用brew安装Nginx、MySQL、PHP

安装 nginx

brew install nginx

nginx 的操作命令:

# 启动 nginx
sudo nginx
# 重新加载配置|重启|停止|退出 nginx
nginx -s reload|reopen|stop|quit
# 测试配置是否有语法错误
nginx -t

启动 nginx 后,默认的开启的是8080端口,可以通过修改配置文件来设置端口:

vim /usr/local/etc/nginx/nginx.conf

默认访问的目录:/usr/local/Cellar/nginx/1.8.0/html

我这里安装的nginx版本为1.8.0

安装完 nginx 后,nginx 是不会随机启动的,需要设置一下。
设置 nginx 开机启动:

mkdir -p ~/Library/LaunchAgents
cp /usr/local/Cellar/nginx/1.8.0/homebrew.mxcl.nginx.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist

设置权限:

sudo chown root:wheel /usr/local/Cellar/nginx/1.8.0/bin/nginx
sudo chmod u+s /usr/local/Cellar/nginx/1.8.0/bin/nginx

OK,到这里我们已经成功安装了nginx并设置开机启动。

安装 MySQL

brew install mysql --with-local-infile

配置mysql数据库:

mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

执行完成后就可以在终端中运行 mysql 命令了。
这里需要注意一下,我们可以不需要密码就可以进入 mysql,可以通过一些安全设置、设置用户密码来保证安全性。

设置 mysql 开机启动:

mkdir -p ~/Library/LaunchAgents/
cp /usr/local/Cellar/mysql/5.6.17/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

mysql 配置文件:/usr/local/Cellar/mysql/5.6.17/my.cnf

至此,mysql 就安装完成了。

安装 php

MAC本来就自带了 php,但是很多扩展没有安装,所以选择了重新安装php。

首先,我们需要安装第三方程序包。

brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php

我们可以查看下 brew 下有那些 php 版本

brew search php
brew install php56 --with-imap --with-tidy --with-debug --with-pgsql --with-mysql --with-fpm

更多的php选项可以通过以下命令查看:

brew options php54

由于是重装php,之前系统预装的php还没卸载,因此在终端调用php时,还是以之前系统的php版本做解析,所以这里需要修改path,指定 php 的解析路径。在~/.bashrc(没有则创建)最后加入一行:

export PATH="$(brew --prefix php56)/bin:$PATH"
source .profile    # 使其生效

MAC开机重启后,php又恢复到了自带的php版本,解决方法:调整一下 PATH 顺序。

php 和 php-fpm 配置文件:

/usr/local/etc/php/5.6/php.ini 
/usr/local/etc/php/5.6/php-fpm.conf

启动 php-fpm 的话就直接在终端里执行 "php-fpm",默认打开 php-fpm 会显示一个状态 shell 出来,也可以把 php-fpm 的配置文件里的 "daemonize = no" 改为 "daemonize = yes",就会以后台守护进程的方式启动,对于刚修改的配置文件,可以执行 "php-fpm -t" 来检测配置有没有问题。

开机启动php-fpm:

mkdir -p ~/Library/LaunchAgents
cp /usr/local/Cellar/php56/5.6.9/homebrew-php.josegonzalez.php54.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew-php.josegonzalez.php56.plist

设置 nginx 的 php-fpm 的配置

下面是自己配置虚拟机的nginx 配置文件:

server {
    listen       80;
    server_name  www.test.com;

    root   /Users/sumw/www/www.test.com;
    index  index.html index.htm index.php;

    location / {
            try_files $uri $uri/ /index.php;
    }

    location ~ \.php$ {
            try_files $uri =404;

            include fastcgi.conf;
            fastcgi_pass 127.0.0.1:9000;
    }

}