Mac os X下使用Nginx跟PHP的連線問題
阿新 • • 發佈:2019-02-10
安裝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.conferror_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相關知識參考: