0%

How to build nginx on localhost in Mac OSX

緣起

談到 web server 大家第一個想到的大概是老大哥 apache,而且 mac osx 裡面其實已經內建了,方便性不用多說。
但近年來 nginx 不論是效能上或是體積上基本上都已經取代 apache 的地位,當然就成為大家的新寵,頂多在使用上有一點點的不方便,這篇文章記錄一下在 mac osx 上面安裝 nginx 的步驟。

前置作業

首先你要將 homebrew 裝起來,使用 mac 同時又有在做開發的人應該都有裝吧?
好吧,沒有的話先去 homebrew 網站看看。

安裝與設置

1
2
$ brew update
$ brew install nginx

裝好的 nginx 會在路徑 /usr/local/etc/nginx/
所謂的設定檔也在這 /usr/local/etc/nginx/nginx.conf
打開之後大致上跟一般的 nginx 沒什麼兩樣

但是最需要注意的就是在 FastCGI pass 那段
這裡先放上我的給大家參考一下

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

註解掉的第四行是原本預設的內容,必須改成第三行才能運作,不然你會跑不起來然後在 log 裡面看到

1
fastcgi sent in stderr: "primary script unknown"

既然說到 log,順便提一下 log 的位置在 /usr/local/var/log/nginx/ 裡面
預設網頁目錄在 /usr/local/nginx/html

運行與 nginx 指令

最後這邊簡單列一下可能比較會用到的 nginx 相關指令

1
2
3
4
$ sudo nginx // 啟動 nginx
$ sudo nginx -s reload // 重新載入設定
$ sudo nginx -s restart // 重新啟動 nginx
$ sudo php-fpm // 啟動 php-fpm

Enjoy it!