A. nginx 與 php 協同工做原理:php
首先,nginx 的轉發端口 與 php 的監聽端口需一致。而後 nginx 將 http 請求映射成 fastcgi 請求,經過對應端口向 php 發送。php 獲取並處理請求後,經過對應端口反饋給 nginx 處理後的數據,nginx 將數據輸出到瀏覽器,一次 http 請求結束。html
B. Nginx 變量訪問控制:nginx
http { var1; # 變量1可以被 http 下全部的 server | location 塊識別 server { var2; # 變量2可以被全部的 location 塊識別 location { var3; # 變量3只可以被當前的 localtion 塊識別 } location { } } server { var2; location { var3; } location { } } }
C. nginx.conf 配置文件:瀏覽器
server { # 監聽端口 listen 80; # 指明具體的監聽端口 listen 127.0.0.1:80; server_name fuckyou.com; charset utf-8; # 注意下面這個 root ! root D:/Website/FrontToolLib; # 目錄訪問設置 location / { # 目錄訪問目標文件設置 index index.php index.html index.htm; # 是否容許訪問目錄 autoindex on; } # PHP 文件訪問設置 location ~ \.php$ { # PHP fastcgi 程序監聽端口 fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; # 注意 $document_root fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
D. 注意點
測試
E. 調試
nginx 經常使用命令,注意了:這些命令須要先切換到nginx目錄下才能使用!即便你將其添加到了系統路徑!spa
啓動: start nginx 關閉: nginx -s stop 重載配置文件:nginx -s reload
php-cgi 經常使用命令:調試
php-cgi -b 127.0.0.1:9000 -c php.ini -b:代表監聽的端口(ip + port實際上就是爲了惟一肯定監聽的端口號用的) -c:代表加載的配置文件
啓動 nginx:
code
啓動 php(啓動後不能關掉 cmd 窗口,不然 php 會被關閉):
server
測試:htm
E. 結語以上內容屬三個晚上研究得出,看仔細嘍。