1. 程式人生 > >Mac系統搭建Nginx+php-fpm

Mac系統搭建Nginx+php-fpm

開發十年,就只剩下這套架構體系了! >>>   

分享背景

由於一直在虛擬機器的狀態下開發PHP,嘗試一下mac本地搭建環境.mac本身是自帶Apache+php的,在低版本的mac系統中,mac中的php版本是5.6的版本. 本文分享的是在mac的10.13版本.前提是本地安裝了brew包管理工具,如果還沒安裝的可以參考官網文件安裝,傳送門.

安裝步驟

1.停止本地的Apache服務

sudo apachectl stop

2.安裝NGINX

brew install nginx

3.啟動NGINX

// 檢視幫助命令
nginx -v
// 重啟命令
nginx -s reload

4.訪問NGINX

開啟瀏覽器,輸入如下網址,正確的情況就可以看到如下的截圖.
http://localhost.com/

圖片描述 5.NGINX專案目錄介紹

通過上面的步驟,就表示NGINX已經完成了.這裡有幾個檔案,我們需要關注一下.
1.nginx配置目錄
/usr/local/etc/nginx
2.nginx的專案根目錄
/usr/local/var/www

6.配置php(由於mac的高版本中已經內建了PHP7.1的版本,該文章也是基於這個基礎上操作的.後續完善該文章,實現一個多版本的切換.)

1.去掉nginx.conf中如下程式碼中的註釋(在去掉之前最好備份一份 cp nginx.conf nginx.conf.bak)
location ~ \.php$ {
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}
該段程式碼的主要意思就是讓nginx能夠解析到php,不然你去訪問php的檔案,nginx會預設下載該php檔案.在Apache中是以模組的方式載入的php,就是去掉LoadModule php_module libexec/apache2/libphp7.so
2.修改1中的部分配置
原配置中的值為/scripts$fastcgi_script_name, 需要修改為$document_root$fastcgi_script_name
該程式碼主要的意思就是讓nginx能夠識別到nginx配置檔案中的root項.不然會報not find file錯誤資訊.
<font color='red'>重啟nginx服務,nginx -s reload</font>
3.配置php-fpm檔案
sudo cp /private/etc/php-fpm.conf.default /private/etc/php-fpm.conf
修改我們新複製的php-fpm.conf檔案中的如下配置專案.修改為下面的示例
pid=/var/run/php-fpm.pid
error_log=/var/log/php-fpm.log
4.啟動php-fpm服務
sudo php-fpm

啟動服務的時候可能會遇到下面的問題,反正我是遇到了(下面的路徑根據你圖片指示的路徑來定,可能有的環境路徑不一致).解決辦法是 圖片描述

cp /data/server/php7/etc/php-fpm.d/www.conf.default /data/server/php7/etc/php-fpm.d/www.conf

然後在啟動一次,即可. 5.編寫測試檔案,我們找到/usr/local/var/www目錄,建立一個test.php的檔案.寫入如下程式碼.

phpinfo();

6.測試效果 開啟瀏覽器,訪問http://localhost/test.php,即可看到如下效果