當前位置:首頁 » 編程語言 » nginxphpcgi

nginxphpcgi

發布時間: 2022-08-23 04:06:05

『壹』 如何在Nginx中使用CGI

用戶可以參考如下php-cgi安裝啟動過程。
1、解包
tar zxvf php-5.2.6.tar.gz

2、安裝
cd php-5.2.6/
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-zlib-dir --with-freetype-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --enable-gd-native-ttf --with-gd --enable-ftp --with-iconv --with-gettext --with-curl --enable-fastcgi --with-openssl
make && make install
cd /usr/local/php/lib
cp php.ini-dist php.ini
cp /usr/local/php/bin/php /usr/bin/php-cgi

3、修改php.ini
nano php.ini 按f6然後輸入extension_dir
查找/usr/local/php/etc/php.ini中的extension_dir = "./"
修改為extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"

4、啟動php-cgi
/usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -f /usr/bin/php-cgi
nginx配置文件中的 fastcgi_pass 127.0.0.1:9000; 就是根據上面來的

5、查看一下
[zhangy@BlackGhost www]$ ps -e|grep php-cgi
3737 ? 00:00:00 php-cgi
3738 ? 00:00:03 php-cgi
3739 ? 00:00:03 php-cgi
3740 ? 00:00:04 php-cgi
3741 ? 00:00:03 php-cgi
3742 ? 00:00:03 php-cgi

『貳』 如何設置nginx的php fastcgi進程數

NMP環境現在還是比較多人用的,下面介紹一個修改php-cgi進程數的方法: 一、修改php-cgi: vi /usr/local/nginx/conf/nginx.conf 二、其中worker_processes 1;可以修改成2或3個,nginx本身就很強大,不需要像apache那樣,開啟過多的進程來保證其穩定運行。 vi /usr/local/php/etc/php-fpm.conf 三、找到,按你的內存容量修改PHP進程的數量,一般128內存開啟6個,256內存開啟16個。這樣能保證,在PHP大並發的情況下不會502錯誤,註:PHP5.3系列不需要修改。 四、優化後,重啟lnmp /root/lnmp restart

『叄』 怎麼在nginx中運行php文件

nginx中不能直接運行php文件,只能通過調用外部CGI處理器運行php文件。php的CGI處理器在Linux中常用的是 php-fpm。在win中就只能是 php-cgi.exe 了。相關CGI的知識請網路,可以使用'nginx CGI'關鍵字進行查詢。

『肆』 nginx,php-cgi部署環境後,出現502錯誤,怎麼辦

這么巧呀,最近我也遇到這種問題。我已經找到了相關的解決方法。將網上找到的一些和502 Bad Gateway錯誤有關的問題和排查方法列一下,先從FastCGI配置入手:1.FastCGI進程是否已經啟動2.FastCGI worker進程數是否不夠運行 netstat -anpo | grep 「php-cgi」 | wc ,
我建議樓主去後盾人平台看一看,我就是從那裡學習借鑒的。相信你一定能夠受益匪淺。

『伍』 nginx 開啟多少php-cgi

修改nginx進程數在/usr/local/nginx/conf/nginx.conf 查找:worker_processes 將後面的值修改成你要設置的值就可以。
nginx重啟 sbin/nginx -s reload

修改PHP-fpm 進程數在/usr/local/php/etc/php-fpm.conf 查找max_children 將後面的值修改成你要設置的值就可以。
php重啟:/etc/init.d/php-fpm restart

詳細參考:http://kangxiaowei.com/archives/2398.html

『陸』 如何搭建Nginx+PHP環境

1、首先需要准備的應用程序包。

nginx:nginx/Windows-1.0.4

php:php-5.2.16-nts-Win32-VC6-x86.zip (nginx下php是以FastCGI的方式運行,所以我們下載非線程安全也就是nts的php包)

(還會用到)RunHiddenConsole:RunHiddenConsole.zip

2、安裝與配置。

1)php的安裝與配置。

直接解壓下載好的php包,到D盤wnmp目錄(D:\wnmp),這里把解壓出來的文件夾重命名成php5。進入文件夾修改php.ini-recommended文件為php.ini,並用Editplus或者Notepad++打開來。找到

extension_dir = "./ext"
更改為

extension_dir = "D:/wnmp/php5/ext"
往下看,再找到
;extension=php_mysql.dll
;extension=php_mysqli.dll
前面指定了php的ext路徑後,只要把需要的擴展包前面所對應的「;」去掉,就可以了。這里打開php_mysql.dll和php_mysqli.dll,讓php支持mysql。當然不要忘掉很重要的一步就是,把php5目錄下的libmysql.dll文件復制到C:\Windows目錄下,也可以在系統變數裡面指定路徑,當然這里我選擇了更為方便的方法^_^。

到這里,php已經可以支持mysql了。

接下來我們來配置php,讓php能夠與nginx結合。找到

;cgi.fix_pathinfo=1
我們去掉這里的封號。

cgi.fix_pathinfo=1
這一步非常重要,這里是php的CGI的設置。
2)nginx的安裝與配置。

把下載好的nginx-1.0.4的包同樣解壓到D盤的wnmp目錄下,並重命名為nginx。接下來,我們來配置nginx,讓它能夠和php協同工作。進入nginx的conf目錄,打開nginx的配置文件nginx.conf,找到

location / {
root html;#這里是站點的根目錄
index index.html index.htm;
}
將root html;改為root D:/wnmp/www;

再往下,找到

復制代碼
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
復制代碼
先將前面的「#」去掉,同樣將root html;改為root D:/wnmp/www;。再把標記為紅色的/scripts改為「$document_root」,這里的「$document_root」就是指前面「root」所指的站點路徑,這是改完後的:

復制代碼
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root D:/wnmp/www;
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,當然也可以利用腳本來實現。

首先把下載好的RunHiddenConsole.zip包解壓到nginx目錄內,RunHiddenConsole.exe的作用是在執行完命令行腳本後可以自動關閉腳本,而從腳本中開啟的進程不被關閉。然後來創建腳本,命名為「start_nginx.bat」,我們在Notepad++里來編輯它

復制代碼
@echo off
REM Windows 下無效
REM set PHP_FCGI_CHILDREN=5

REM 每個進程處理的最大請求數,或設置為 Windows 環境變數
set PHP_FCGI_MAX_REQUESTS=1000

echo Starting PHP FastCGI...
RunHiddenConsole D:/wnmp/php5/php-cgi.exe -b 127.0.0.1:9000 -c D:/wnmp/php5/php.ini

echo Starting nginx...
RunHiddenConsole D:/wnmp/nginx/nginx.exe -p D:/wnmp/nginx
復制代碼
再另外創建一個名為stop_nginx.bat的腳本用來關閉nginx

@echo off
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit
做好後,是這樣的

這樣,我們的服務腳本也都創建完畢了。雙擊start_nginx.bat看看進程管理器是不是有兩個nginx.exe的進程和一個php-cgi.exe的進程呢?

這樣nginx服務就啟動了,而且php也以fastCGI的方式運行了。

到站點目錄下,新建一個phpinfo.php的文件,在裡面編輯

<?php
phpinfo();
?>
保存後,打開瀏覽器輸入「http://localhost/phpinfo.php」,如果看到

就說明,nginx+php的環境已經配置好了,呵呵~

『柒』 windows下nginx 啟動php-cgi進程數量怎麼修改

NMP環境現在還是比較多人用的,下面介紹一個修改php-cgi進程數的方法: 一、修改php-cgi: vi /usr/local/nginx/conf/nginx.conf 二、其中worker_processes 1;可以修改成2或3個,nginx本身就很強大,不需要像apache那樣,開啟過多的進程來保證其穩定運行。 vi /usr/local/php/etc/php-fpm.conf 三、找到,按你的內存容量修改PHP進程的數量,一般128內存開啟6個,256內存開啟16個。這樣能保證,在PHP大並發的情況下不會502錯誤,註:PHP5.3系列不需要修改。 四、優化後,重啟lnmp /root/lnmp restart

『捌』 nginx 超時後,phpcgi還在運行嗎

工具原料:電腦+php nginx nginx 超時時間是指程序運行超過這個時間就會停止運行 解決辦法:將文件操作防禦後台腳本處理去執行,過幾分鍾再進行下載並且刪除暫存的文件即可. 偽代碼的實現

熱點內容
壓縮比英文 發布:2024-05-06 01:56:35 瀏覽:171
數字php 發布:2024-05-06 01:53:10 瀏覽:742
編程中怎麼 發布:2024-05-06 01:43:32 瀏覽:629
如何訪問遠程資料庫 發布:2024-05-06 01:39:20 瀏覽:447
刷演算法的網站 發布:2024-05-06 01:30:39 瀏覽:270
少兒編程徐州 發布:2024-05-06 01:20:42 瀏覽:462
sqlserver連接驅動 發布:2024-05-06 00:33:34 瀏覽:646
存儲開銷 發布:2024-05-06 00:13:38 瀏覽:954
伺服器怎麼盈利 發布:2024-05-05 23:56:16 瀏覽:942
java網站培訓學校 發布:2024-05-05 23:43:11 瀏覽:41