第一步:關閉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
由於國內網絡限制可能其中某些包需要翻牆下載安裝。
成功安裝后,啟動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,如果還是不行,重啟電腦。