转到nginx,用上php-cgi了

本文详细介绍了如何将服务器从lighttpd切换到Nginx,并配置PHP-CGI进行后台运行。通过创建启动脚本fcgi-php,设置环境变量和监听9000端口,确保PHP在fcgi模式下稳定工作。接着,在Nginx的配置文件中启用PHP处理,通过取消注释相关部分并指定fastcgi_pass,成功实现PHP页面的展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

nginx用来做fcgi服务器配置倒是非常方便。一个多月前曾用过lighttpd ,但由于不大稳定,一直想换到nginx。nginx已经工作好几周都没有问题,于是准备将所有php开发的项目都转来。nginx好像配置更简洁,没有cgi概念,只服务于fcgi和静态页面。我喜欢。

 

fcgi需要php在后台运行。我用的是debian/ubuntu系,直接sudo apt-get install php5-cgi即可安装好支持fcgi的php。由于我们需要fcgi在后台运行,创建/etc/init.d/fcgi-php文件,然后chmod +x。网上找到的一个启动文件,稍微修改一下。

 

 

上面的可执行程序要配合/etc/default/fcgi-php这个“启动项配置文件”来运行:

 

 

这样是否已经很清楚了?完全可以运行/etc/init.d/fcgi-php start来看是否启动。netstat -at 可以看到9000端口在侦听。接下来的活就是配置nginx。主配置文件是/etc/nginx/nginx.conf。在此文件中include了其他配置文件,应该很容易理解。

 

一般来说我们需要改动的是在/etc/nginx/sites-enabled/default文件。只要把php相关部分的#注释去掉。比如:

 

location ~ /.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /var/www/nginx-default$fastcgi_script_name;
        #includefastcgi_params;
    }

 

重新启动sudo /etc/init.d/nginx restart

 

按照我的配置,建立/var/www/nginx-default/index.php:

 

<? echo phpinfo(); ?>

 

保存,打开浏览器可以 看到phpinfo页说明成功。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值