第一步:关闭Apache及开机启动
要使用nginx,最好停用mac中自带的Apache。停用很简单:
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
第二步:安装homebrew
homebrew是mac下的包管理器,类似于linux下的yum,apt。使用homebrew安装nginx,php,mysql要比手动安装方便很多。官网地址:http://brew.sh/index_zh-cn.html
安装:
sudo ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
第三步:安装nginx
安装:brew install nginx
启动:sudo nginx
停止:sudo nginx -s quit
配置nginx:
在/usr/local/var/log/nginx/
下,新建文件:access.log
、error.log (如果安装时已经创建就无需再创建)
配置/usr/local/etc/nginx/nginx.conf
#user nobody; worker_processes 1; error_log /usr/local/var/log/nginx/error.log; //注 此处需指定绝对路径 默认为相对路径 pid /usr/local/var/run/nginx.pid; //注 此处需指定绝对路径 默认为相对路径(若不设置绝对路径容易出现nginx.pid丢失,导致nginx无法启动或无法关闭) events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; access_log /usr/local/var/log/nginx/access.log; sendfile on; keepalive_timeout 65; # include conf.d/*.conf; }
如需添加server可进行如下配置:
在 /usr/local/etc/nginx/nginx.conf 里 http 配置里添加
server { listen 80 default_server; server_name localhost; #域名,自定义 root 网站根目录; #自定义,如/var/www index index.html index.htm }
测试:在你设定的根目录下(例如/var/www/
),新建一个静态页index.html,启动nginx,在浏览器中输入localhost,成功看到静态页内容。
第四步:安装php
首先,在brew中添加php的源:
brew tap josegonzalez/php
brew tap homebrew/dupes
查看已添加的源:brew tap
搜索可安装的php:brew search php
安装最多的是php55,安装前首先查看一下安装相关参数的说明:
brew search php55
安装:
brew install php55 --with-fpm, --with-enchant, --with-debug
由于国内网络限制可能其中某些包需要FQ下载安装。
成功安装后,启动php-fpm:(php-fpm相当于一个接口,nginx和php之间通信通过php-fpm这个东西)
launchctl load -w /usr/local/opt/php55/homebrew.mxcl.php55.plist
停止php-fpm:
launchctl unload -w /usr/local/opt/php55/homebrew.mxcl.php55.plist
设置快捷指令:打开~/.bash_profile
,添加
alias php55.start=launchctl\ load\ -w\ /usr/local/opt/php55/homebrew.mxcl.php55.plist
alias php55.stop=launchctl\ unload\ -w\ /usr/local/opt/php55/homebrew.mxcl.php55.plist
快捷指令设置之后,重启终端,就可以用php55.start
和php55.stop
来启动和停止php-fpm了。
重新配置nginx:配置文件/usr/local/etc/nginx/nginx.conf
server { listen 80 default_server; server_name localhost; #域名,自定义 root 网站根目录; #自定义,如/var/www index index.html index.htm # pass the PHP scripts to FastCGI slinerver listening on 127.0.0.1:9000 # location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME 网站根目录$fastcgi_script_name; #如/var/www$fastcgi_script_name include fastcgi_params; fastcgi_intercept_errors on; } }
测试:重启nginx,启动php-fpm后,在网站根目录下新建文件index.php
,设置index.php
的内容:<?php phpinfo(); ?>
。然后浏览器中输入:localhost/index.php
,看到php信息,成功。
备注:
安装时所遇到的问题:
1、无法启动、无法关闭nginx,出现nginx.pid丢失。
/usr/local/etc/nginx/nginx.conf配置中 error及pid应设置成绝对路径
error_log /usr/local/var/log/nginx/error.log; //注 此处需指定绝对路径 默认为相对路径
pid /usr/local/var/run/nginx.pid; //注 此处需指定绝对路径 默认为相对路径(若不设置绝对路径容易出现nginx.pid丢失,导致nginx无法启动或无法关闭)
设置完成后,再重启下nginx,如果还是不行,重启电脑。