为了方便在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;
#}
```