nginxphp擴展
① 如何讓nginx php-fpm支持 網址/index.php/xxx這類格式的連接
類似/index.php/xxx的uri只是前端的一個展現而已,如果願意,你可以定義為/index/xxx這種格式的,連php這個擴展名都可以省去。
需要做的只是在nginx中,需要對這個uri進行rewrite,一邊nginx能能找到該請求需要訪問的php的腳本文件。對於php-fpm而言,不需要做任何改動。
比如如下的配置:
location~/ws{
root/home/wangwei/webroot/ws;
indexindex.html;
fastcgi_pass127.0.0.1:9000;
includefastcgi.conf;
includefastcgi_params;
rewrite"^/+ws/([^/?]*)/([^/?]*)"/ws/$1.php?arg1=$2break;
}
如果一個url為:/ws/test/test實際上被重寫之後訪問的是/home/wangwei/webroot/ws目錄下的test.php腳本,並且帶有一個get參數arg1=test,就像訪問ws/test.php?arg1=test一樣。
關鍵是看nginx的轉發規則是如何去寫的。
② nginx下載文件配置windows下安裝php加nginx的運行環境
序言:習慣了用集成軟體來安裝php的運行環境,單獨配置php、nginx成為了部分程序員不願意麵對的問題,上一篇文章咱們講了如何單獨安裝php與apache,這一篇文章讓我們一塊來復習一下php+nginx的安裝,趕緊點贊收藏吧。
php官方下載地址
php版本號:php-5.6.40-Win32-VC11-x64
nginx官方下載地址
nginx版本號:httpd-2.4.51-win64-VS16
配置php
1、將php.ini-development復制一份,重命名為php.ini
2、找到php.ini734行,把擴展的目錄改為本地路徑
配置nginx
1、找到65-71行,將注釋去掉,將root指向的文件改為本地根目錄。再把「/scripts」改為「$document_root」,這里的「$document_root」就是指前面「root」所指的站點路徑
改完之後如下圖
location ~ \.php$ { root D:/php_apache/wwwroot; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }2、在44行root指向文件改為網站根目錄,45行增加默認訪問文件 index.php
location / { root D:/php_apache/wwwroot; index index.html index.htm index.php; }將nginx安裝成windows系統服務1、需要藉助"Windows Service Wrapper"小工具
下載地址: http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/1.18/winsw-1.18-bin.exe
下載該工具後,將其放在 Nginx安裝目錄下,並重命名為nginx-service.exe,創建配置文件nginx-service.xml(名字要和工具名一樣),
創建nginx-service.exe.config(為支持NET 4.0 runtime,默認只支持NET 2.0 runtime)
nginx-service.xml 內容如下:
nginx Nginx Service High Performance Nginx Service D:\php_apache\nginx-1.18.0\logs 10240 8 D:\php_apache\nginx-1.18.0\nginx.exe -p D:\php_apache\nginx-1.18.0 D:\php_apache\nginx-1.18.0\nginx.exe -p D:\php_apache\nginx-1.18.0 -s stopnginx-service.exe.config 內容如下:
2、執行安裝命令
D:cd D:\php_apache\nginx-1.18.0nginx-service.exe install3、查看系統服務
services.msc4、啟動nginx
5、執行php-cgi.exe運行命令
php-cgi.exe -b 127.0.01:9000 -c D:\php_apache\php-5.6.40\php.ini執行回車之後php就已經運行了,後續這個窗口保持開啟,如果文件有修改的話就去服務中重啟nginx。
在網站根目錄創建php文件
新建phpinfo.php
代碼
<?phpphpinfo();
③ 如何架設Nginx+Php Web伺服器
由於每個過程較繁瑣,所以這里說說具體步驟,每個步驟的具體內容可以網路搜索。
安裝步驟
一、 編譯安裝PHP5.2.9所需的支持庫
二、編譯安裝Mysql 5.1.34擴展庫
三、編譯安裝PHP(FastCGI模式)
四、修改php-fpm配置文件
五、創建www用戶組及www用戶
六、編譯安裝Nginx
七、創建fcgi.conf文件
八、編輯Nginx配置文件
九、配置開機自動啟動Nginx + PHP
十、優化Linux內核參數
④ debian7如何搭建nginx和php5.3環境
Debian 7搭建Nginx和PHP5.3環境的步驟如下:
一、系統更新與准備工作
- 更新軟體包列表:執行apt-get update命令,以確保獲取最新的軟體信息。
- 安裝必要組件:執行apt-get install build-essential命令,安裝編譯工具和依賴庫,以便編譯安裝一些可能用到的軟體。
二、安裝Nginx
- 添加Nginx源:在/etc/apt/sources.list文件中添加Nginx的官方源信息,或者從Nginx官網獲取最新的源地址。
- 更新軟體包列表:再次執行apt-get update命令。
- 安裝Nginx:執行apt-get install nginx命令,安裝Nginx。
- 驗證安裝:安裝完成後,通過訪問伺服器IP地址來驗證Nginx是否正確安裝。
三、安裝PHP5.3
- 尋找PHP5.3源:由於Debian 7的官方存儲庫不再包含PHP5.3,需要找到提供PHP5.3支持的第三方源,或者直接下載PHP5.3源代碼進行編譯安裝。
- 安裝PHP5.3:如果找到了合適的第三方源,按照安裝Nginx的方式安裝PHP5.3;否則,下載PHP5.3源碼包,通過編譯和安裝的方式構建PHP5.3環境。
- 安裝PHP擴展:根據需求安裝PHP的擴展,如資料庫連接擴展,可以通過apt-get install php5-mysql等命令進行安裝。
四、配置Nginx與PHP
- 修改Nginx配置文件:配置文件通常位於/etc/nginx/sites-available目錄中,需要修改server模塊,實現對.php文件的處理。
- 配置PHP處理方式:在Nginx配置中,使用fastcgi_pass指令指向PHP的FastCGI進程管理器(PHP-FPM),確保PHP-FPM正在運行,並設置正確的埠或socket路徑。
五、測試PHP處理
- 創建PHP信息文件:在Nginx的網站目錄下創建一個名為info.php的文件,內容包含phpinfo()函數。
- 訪問PHP信息文件:通過Web瀏覽器訪問前面創建的info.php文件,如果顯示出PHP的配置信息,則表明Nginx和PHP環境構建成功。
注意事項:
- 在構建環境後,務必驗證安裝的正確性以及各組件間的配置是否相互兼容。
- 由於PHP5.3已經停止官方支持,在使用這套環境時,要特別注意可能的安全風險,並定期檢查更新和安全漏洞。