为了方便在Mac环境下安装软件,我使用了Homebrew来快速搭建环境。Homebrew的安装非常简单,只需执行一条简单的Ruby命令即可(当然,前提是你已经有了Ruby环境,默认情况下Mac系统已经安装了它)。关于Homebrew的详细说明,大家可以访问其官方网站查看。

简而言之,Homebrew类似于Linux环境下的apt-get、dpkg和rpm等安装工具。

一、安装Nginx

1.1 使用brew快速安装:

通过执行以下命令,brew会将最新的Nginx安装到本地。如果需要使用其他版本的nginx,可以执行相应的命令来修改formula中对应的链接信息。

```ruby

brew install nginx

```

1.2 默认情况下,brew会将Nginx安装到`/usr/local/Cellar/nginx`目录下,并根据你安装的Nginx版本号生成子目录,如1.6.0_1。这里有一个关键的目录`html`,它是一个软链接,通过`ls -l`命令确定其链接到的地址,一般应该是在`/Library/WebServer`目录。这个目录就是Nginx默认的部署项目目录。需要注意的是,我的`html`最后链接到了`/var/www`目录,而我还一直傻傻地认为是`/Library/WebServer`目录。

1.3 Nginx的配置文件被brew放置在了`/usr/local/etc/nginx`目录下。为了能支持对php文件的访问,稍后我们会对其进行配置。

1.4 Nginx可以在命令行下,通过以下命令操作:

- 启动nginx服务器:`nginx`

- 停止nginx服务器:`nginx -s stop | quit | reopen | reload`

具体可通过`nginx -h`查看帮助文档。

二、安装MySQL

刚开始我在使用brew安装mysql时遇到了一些问题,导致安装失败。为了节约时间,我到官网下载了dmg包来安装。官网提供的dmg包安装非常方便,具体的安装说明可以查看官方说明文档。

简单来说,你只需双击下载的dmg包,里面包含了两个pkg文件和一个prefPane文件(还有一个说明文档)。你只要点击两个pkg文件进行安装即可。为了便于操作,你也可以选择安装prefPane文件,这个文件可以将对mysql的启动、停止操作放置在系统的偏好设置中,如下图所示:

其配置文件和操作的bin文件目录,上述给出的链接中也已说明:

翻译过来就是,MySQL会安装在`/usr/local`下面,以dmg文件名命名的目录。并且在`/usr/local`目录下创建了一个名为`mysql`的软链接指向了安装目录。

## 3.1 brew没有对php的支持,需要使用brew tap命令安装第三方程序包

我们选择使用josegonalez的php安装包进行安装。

```bash

brew tap josegonalez/php5

brew install php5 --with-openssl --with-mysql --with-curl --with-gd --with-xsl --with-xmlrpc --with-pear --without-pear-binary

```

### 3.2 搜索brew安装了哪些php版本

可以使用`brew search php`来搜索下brew安装了哪些php版本。我们选择使用php5.5来安装php(内嵌了FPM)。

```bash

brew search php5@5.5

```

### 3.3 需要带上mysql.h所在的目录或其父目录

注意:`--with-libmysql`可能要带上mysql.h所在的目录或其父目录。这里为了方便,直接使用了顶层目录(当然不是`/`根目录啦:))。

```bash

brew install php@5.5 --with-openssl --with-mysql --with-curl --with-gd --with-xsl --with-xmlrpc --with-pear --without-pear-binary --with-mysql=/usr/local/mysql

```

### Nginx配置PHP支持

首先找到Nginx的配置目录nginx.conf。如果在第一步中使用的是brew的默认安装的话,应该是在以下目录:

```bash

$HOME/Library/LaunchAgents/homebrew.mxcl.nginx.plist

```

打开该文件,找到下面两处配置:

1. 在第一处的index.htm后面添加`index.php`即可(注意不要少了最后的分号哦):

```apacheconf

location ~ \.php$ {

try_files $uri =404;

fastcgi_pass unix:/opt/homebrew/php55-fpm/var/run/php5-fpm.sock;

}

```

2. 请将第二处每行行首的注释(#)逐一删去,并修改"SCRIPT_FILENAME /scripts$fastcgi_script_name"为:"SCRIPT_FILENAME /scripts$fastcgi_script_name",即将:

```apacheconf

#location ~ \.php$ {

# try_files $uri =404;

# fastcgi_pass unix:/opt/homebrew/php55-fpm/var/run/php5-fpm.sock;

#}

```