当前位置:首页 » 编程语言 » 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 超时时间是指程序运行超过这个时间就会停止运行 解决办法:将文件操作防御后台脚本处理去执行,过几分钟再进行下载并且删除暂存的文件即可. 伪代码的实现

热点内容
蒙皮算法 发布:2025-01-18 12:57:53 浏览:549
常用的r语言编译器 发布:2025-01-18 12:55:05 浏览:199
同人志解压密码 发布:2025-01-18 12:55:05 浏览:876
qq密码不记得怎么办 发布:2025-01-18 12:48:22 浏览:448
安卓系统停用怎么办 发布:2025-01-18 12:35:49 浏览:260
五菱宏光星辰哪个配置最值得买 发布:2025-01-18 12:29:43 浏览:595
鸿蒙系统为什么完美兼容安卓应用 发布:2025-01-18 12:16:02 浏览:856
数分转算法 发布:2025-01-18 12:08:31 浏览:612
iphone硬件为什么比安卓更好 发布:2025-01-18 12:08:29 浏览:822
医院冷热源配置有哪些 发布:2025-01-18 12:08:26 浏览:167