~ uname -anp
Darwin Linux-Fans.local 13.3.0 Darwin Kernel Version 13.3.0: Tue Jun 3 21:27:35 PDT 2014; root:xnu-2422.110.17~1/RELEASE_X86_64 x86_64 i386
为方便Mac环境下软件的安装,这里我使用了homebrew软件来快速搭建环境。
homebrew很容易安装,只需要一条简单的Ruby命令即可(当然,前提是你要有Ruby环境,默认Mac系统已经安装):
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
有关homebrew更详细的说明,大家可以到其官网查看:
http://brew.sh简单的说,它就类似于Linux环境下的apt-get, dpkg, rpm之类的安装工具。
一、安装Nginx
1.1 使用brew快速安装:
brew install nginx
这样,brew会安装最新的Nginx到本地,如果想使用其他版本的nginx,可以执行
brew edit nginx来修改formula中对应的链接信息就可以了。
1.2 默认,brew会将Nginx安装到
/usr/local/Cellar下nginx目录,并且会根据你安装的Nginx版本号生成子目录,如1.6.0_1,这里有个关键的目录html是一个软链接,通过ls -l命令确定其链接到的地址,一般应该是在/Library/WebServer目录。这个目录就是Nginx默认的部署项目目录。
PS:很坑的是,我的html最后链接到了/var/www目录,而我还一直傻傻的认为是/Library/WebServer目录。
1.3 Nginx的配置文件被brew放置在了
/usr/local/etc/nginx目录下。为了能支持对php文件的访问,稍后我们会对其进行配置。
1.4 Nginx可以在命令行下,通过如下命令操作:
nginx:启动nginx服务器
nginx -s stop | quit | reopen | reload
具体可通过nginx -h查看,
二、安装MySQL
刚开始我在使用brew安装mysql时出了点问题,导致安装失败。为了节约时间,我到官网下载了dmg包来安装。
官网提供的dmg包安装十分方便,具体的安装说明可以查看官方说明文档:
http://dev.mysql.com/doc/refman/5.5/en/macosx-installation-pkg.html简单来看,你只需双击下载的dmg包,里面包含了两个pkg文件和一个prefPane文件(还一个说明文档)。你只要点击两个pkg文件安装即可。为了便于操作,你也可以选择安装prefPane文件,这个文件可以将对mysql的启动、停止操作放置在系统的偏好设置中,如下图示:
其配置文件和操作的bin文件目录,上述给出的链接中也已说明:
When installing using the package installer, the files are installed into a directory within /usr/local matching the name of the installation version and platform. For example, the installer file mysql-5.5-osx10.7-x86_64.dmg installs MySQL into /usr/local/mysql-5.5-osx10.7-x86_64/ . The following table shows the layout of the installation directory.
During the package installer process, a symbolic link from /usr/local/mysql to the version/platform specific directory created during installation will be created automatically.
翻译过来就是,MySQL会安装在/usr/local下面,以dmg文件名命名的目录。并且在/usr/local目录下创建了一个`mysql`软链接指向了安装目录。
三、搭建PHP环境
Mac虽然预装了PHP,但是有很多的功能并没有安装,所以我们这里选择重新安装PHP。
3.1 brew默认没有对php的支持,所以需要我们使用`brew tap`命令还安装brew的第三方程序包。这里我们选择的是josegonalez的php安装包:
brew tap homebrew/dupes3.2 可以使用`brew search php`来搜索下brew安装了哪些php版本。在这里,我选择使用php5.5来安装php(内嵌了FPM):
brew tap josegonzalez/homebrew-php
brew install php55 \
--with-debug \
--with-fpm \
--with-gmp \
--with-homebrew-openssl \
--with-imap --with-intl \
--with-libmysql=/usr \
--without-bz2 \
--without-pcntl \
--without-pear
3.3 需要注意的是,--with-libmysql可能要带上mysql.h所在的目录或其父目录。这里我为了方面,直接使用了顶层目录(当然不是`/`根目录啦:))。
如果上面的步骤进行的顺利的话,解析来我们就让Nginx对PHP进行支持。
找到Nginx的配置目录nginx.conf。如果在第一步中使用的是brew的默认安装的话,应该是在
/usr/local/etc/nginx/目录。打开该文件,找到下面两处配置:
location / {
root html;
index index.html index.htm;
}
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
请将第二处每行行首的注释(#)逐一删去,并修改"SCRIPT_FILENAME /scripts$fastcgi_script_name" 为:
SCRIPT_FILENAME $document_root$fastcgi_script_name
不出意外的话,你只要在/Library/WebServer目录下创建一个index.php文件就可以顺序访问了。这里的/Library/WebServer请查看第一部分的说明。
~ nginx //启动Nginx
~ php-fpm // 启动fpm
//MySQL数据库的启动使用了prefPane提供的启动方式
根据nginx.conf中的配置,在浏览器中输入localhost:8080即可。。。久违的页面终于粗线了:)
PS:在Mac上大家环境可能并不会那么顺利,只要大家耐住性子,慢慢分析原因,到网上搜索答案,相信一定会克服困难的。
参考文献:
1、Mac下Nginx和PHP的安装:http://www.jb51.net/article/42715.htm
2、MySQL 5.5 document:http://dev.mysql.com/doc/refman/5.5/en/macosx-installation-pkg.html