首页 > 代码库 > macos10.9 配置nginx,php-fpm

macos10.9 配置nginx,php-fpm

参考文献:

http://dhq.me/mac-apt-get-homebrew

http://www.xiaoche.me/blog/2012/02/01/homebrew-install/

http://dhq.me/mac-install-nginx-mysql-php-fpm

http://www.cnblogs.com/zhongyuan/p/3313106.html

1.安装homebrew

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

 

2.安装nginx

用 brew 一键安装 nignx:

brew install nginx

 

 这样就安装好了nginx,可以使用以下命令操作nginx:

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

 

打开 nginx 后,默认的访问端口 8080,如果要改为常用的 80 端口,则要修改 "/usr/local/etc/nginx/nginx.conf" 下监听(listen)端口值。

默认的文件访问目录(root)是 "/usr/local/Cellar/nginx/1.2.6/html"(这里的1.2.6是安装的nginx的版本,文件夹名以安装的nginx版本为准)。

 

3.安装php-fpm

Mac是预装了php,不过很多扩展都没安装,目测最多只能在终端里执行下php指令,所以我选择重新安装php。由于 brew 默认是没有 php 安装,所以要使用 “brew tap” 来安装 brew 的第三方程序包,这里使用 josegonzalez 的php安装包,具体操作如下:

brew tap homebrew/dupesbrew tap josegonzalez/homebrew-php

执行完后,就可以用 brew 安装php了。这里php有几个版本可以安装,具体可以执行 "brew search php" 查看一下有什么php版本可以安装.这里我选择php5.5,并且附带安装php-fpm等等,都是可选的,比如冲突时也可选择不安装--without 某些选项,命令如下:

brew install php55 --with-imap --with-tidy --with-debug --with-pgsql --with-mysql --with-fpm

 

更多的安装选项可以通过 "brew options php54" 查看。指令执行完后,php 跟 php-fpm 就安装好了。

由于是重装php,之前系统预装的php还没卸载,因此在终端调用php时,还是以之前系统的php版本做解析,所以这里需要修改path,指定 php 的解析路径。这里我选择的是修改系统级的path顺序。打开/etc/path,用vim对之进行修改:将/usr/local/sbin 放在/usr/sbin 前边(英文为安装完php-fpm命令行的提示)。

1 Mountain Lion comes with php-fpm pre-installed, to ensure you are using the brew version you need to make sure /usr/local/sbin is before /usr/sbin in your PATH:4 5   PATH="/usr/local/sbin:$PATH"6 9 You may also need to edit the plist to use the correct "UserName".

 

如下为更改后的顺序。

1 cat /etc/paths2 /usr/local/sbin3 /usr/local/bin4 /usr/bin5 /bin6 /usr/sbin7 /sbin

 

可以选择开机启动php-fpm:

 1 To launch php-fpm on startup: 2  3     * If this is your first install: 4  5         mkdir -p ~/Library/LaunchAgents 6  7         cp /usr/local/Cellar/php55/5.5.20/homebrew.mxcl.php55.plist ~/Library/LaunchAgents/ 8  9         launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php55.plist10 11 12 13     * If this is an upgrade and you already have the homebrew.mxcl.php55.plist loaded:14 15         launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.php55.plist16 17         cp /usr/local/Cellar/php55/5.5.20/homebrew.mxcl.php55.plist ~/Library/LaunchAgents/18 19         launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php55.plist

 

至此,php-fpm安装完成。

要启动php-fpm?直接:

1 php-fpm

 

会出错(一般为 fail to open error_log等),这是因为要打开的是内置等php-fpm,这时有两种方式打开:

第一种:用超级用户打开,应该是按照系统级等path顺序来的

1 sudo -s  #开启root
2 php-fpm

 

第二种:直接在脚本所在位置(/usr/local/Cellar/php55/5.5.20/sbin/)打开:

1 The control script is located at /usr/local/Cellar/php55/5.5.20/sbin/php55-fpm

 

cd /usr/local/Cellar/php55/5.5.20/sbinphp55-fpm

 

4.配置nginx php-fpm

打开 nginx 默认注释掉的php location设置,修改如下(具体配置参数,例如路径,这里以我本地安装为准,注意修改你的对应的版本号,这里是1.6.2): 

1 location ~ \.php$ {2     fastcgi_intercept_errors on;3     fastcgi_pass   127.0.0.1:9000;4     fastcgi_index  index.php;5     fastcgi_param  SCRIPT_FILENAME  /usr/local/Cellar/nginx/1.6.2/html$fastcgi_script_name;6     include        /usr/local/etc/nginx/fastcgi_params;7 }

 

5.测试

在nginx的默认发布根目录‘ /usr/local/Cellar/nginx/1.6.2/html ‘下写一个test.php,然后在浏览器输入url:localhost:8080/test.php,出现php的信息页面说明成功配置!

1 #test.php2 <?php3     phpinfo();    4 ?>

 

macos10.9 配置nginx,php-fpm