Mac系統搭建Nginx+php-fpm
阿新 • • 發佈:2019-03-24
分享背景
由於一直在虛擬機器的狀態下開發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,即可看到如下效果