1. 程式人生 > >Mac os X下使用Nginx跟PHP的連線問題

Mac os X下使用Nginx跟PHP的連線問題

安裝Nginx

使用brew包管理工具來安裝Nginx http://brew.sh/
官網上一目瞭然,使用非常簡單。 安裝成功後,直接在terminal裡執行brew install nginx即可 安裝完,在/usr/local/Cellar/下可以看到安裝的nginx包,Cellar目錄是專門用來放brew安裝的包的,所有的相關配置檔案在/usr/local/etc/nginx/下。

配置Nginx

初始的Nginx listen的是8080埠,依照慣例改成80埠即可,注意把自帶的Apache給關了。 這時候執行nginx命令,瀏覽器裡localhost就可以看到welcome了,但是還不能執行PHP檔案,因為壓根就沒配置跟PHP的連線,這裡就要使用php-fpm了,先要在nginx的配置檔案裡新增fastcgi的配置:
location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /usr/local/Cellar/nginx/1.8.0/html$fastcgi_script_name;
            include        fastcgi_params;
        }
可以參照上面的配置進行對應的修改。

配置php-fpm

然後在php-fpm的配置檔案裡修改error_log以及pid的配置: 進入配置檔案,sudo vim /private/etc/php-fpm.conf
error_log = /usr/local/var/log/php-fpm.log
pid = /usr/local/var/run/php-fpm.pid
參照進行對應的修改。 開啟php-fpm:

sudo /usr/sbin/php-fpm 

重啟nginx

nginx -s reload

在伺服器根目錄下測試PHP檔案。


Nginx跟Apache最直觀的區別,就是Apache可以將PHP作為一個子模組,從而直接解析PHP,而Nginx做不到,只能通過fastcgi模式跟PHP進行連線,當然Apache也可以用fastcgi模式。而php-fpm(程序管理器)就是管理fastcgi的工具,在PHP5.3版本之後,PHP都會自帶的。

fastcgi以及php-fpm相關知識參考: