当前位置: 首页 > Linux学院 > 网络服务 > Web > Nginx安装与配置fastcgi方式的php

Nginx安装与配置fastcgi方式的php

2012-12-11 13:01 来源:风信网 作者:末信 人气指数: 我要评论

与Apache不同,Nginx不自带PHP模块,对于PHP的处理,需要转发给其他有PHP脚本处理能力的系统服务,包括可以的选择有apache,fastcgi等。
如果用Apache作为Nginx处理PHP的后端,可能有点大才效用,配置繁琐,系统资源占用会比较大。对于有洁癖的系统管理员可能更喜欢用fastcgi的方式配置Nginx的php后端。
下面记录了这种方式的配置方法,系统为Debian Linux。

首先安装nginx和php5-cgi,这两个必须的模块。

apt-get -y install nginx
apt-get -y install php5-cgi

vi /etc/php5/cgi/php.ini
#add:
cgi.fix_pathinfo = 1

vi /etc/init.d/php-fastcgi
#paste from init.d/php-fastcgi file
#注意,修改/usr/bin/php-cgi为/usr/bin/php5-cgi,否则加载不了zend
chmod 755 /etc/init.d/php-fastcgi

vi /etc/default/php-fastcgi
#paste from default/php-fastcgi file

重启php5-cgi
/etc/init.d/php-fastcgi stop
cat /var/run/php-fastcgi.pid, 然后杀死这个pid,然后再
/etc/init.d/php-fastcgi start

禁止 php5-cgi开机运行
vi /etc/default/php-fastcgi
START=no

/usr/bin/php5-cgi -v
可以看到zend optimizer加载了

#start php-fastcgi:
/etc/init.d/php-fastcgi start
ps ax | grep php 可以看到:
/usr/bin/php5-cgi -q -b localhost:9000

#To have php-fastcgi start at boot time, run
update-rc.d php-fastcgi defaults

#Configuring nginx

nginx上传附件大小限制:
server{中添加body size设置,默认是1M
client_max_body_size 100m;
client_body_timeout 300;
client_header_timeout 60; (这个不用了)

vi /etc/nginx/nginx.conf
设置以下参数
user www-data www-data;
worker_processes 5;
keepalive_timeout 30;
events {
use epoll;#Linux 下性能最好的 event 模式
worker_connections 2048;# 每个工作进程允许最大的同时连接数
}

http里面添加:
include /etc/nginx/sites-enabled/*;
把server{}拷贝出来放到虚拟主机目录下面default:

设置虚拟主机目录
mkdir /etc/nginx/sites-enabled/
cd sites-enabled
vi default
拷贝nginx.conf中的虚拟主机server过来

虚拟主机:
index index.php index.html index.htm;

location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_read_timeout 30;
#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME /var/www/nginx-default$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}

注意
$_SERVER["SERVER_NAME"]或getenv(’SERVER_NAME’)获取的始终将是Nginx server_name配置中的第一个域名,这一点在程序开发中需要注意。这第一个域名就相当于Apache虚拟主机配置中的ServerName,后面的域名就相当于Apache的ServerAlias。

vi /etc/nginx/fastcgi_params
添加这一 //暂时去掉,不管用
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
注意:
$document_root变量只有在location中设置了root才管用,否则默认是/usr/local/nginx/html

重启nginx
/etc/init.d/nginx restart

测试php

vi /var/www/nginx-default/info.php
phpinfo();
?>

来自 Nginx中国: http://www.nginx.com.cn/?p=340

为您推荐: 安装 Nginx PHP 配置 FastCGI
大家感兴趣的内容
小伙伴最爱的新闻
小伙伴还关注了以下信息
小伙伴关注的焦点

小伙伴都在关注的热门词

新服 缤纷活动 航海世纪 芈月传 暗黑道具 萌乐网 苹果发布会 最新谍照 三国令 剑雨江湖 怎样修炼战骑 页游 怎样修炼伙伴 木甲世界 仙侠道2 推黑科技 页游模式 武圣试炼场 街机玩法 蓝月传奇 个人BOSS玩法 哥们网 九阴绝学 仗剑出鞘 全新模式 范伟打天下 全新元神玩法 七大神兵简介 新手攻略 跑腿任务 门派五行 城战礼包 页游界 泥石流 傅园慧 经典网页游戏 耐玩 盘点 玉石攻略 提升角色 大黑 实装属性 神兵攻略 问鼎莽荒 莽荒纪 手持神兵 土豪梦 万世 开学清单 财富赚不停 天书世界 大黑游戏 资源战场 ppwan 天问 激战 全国大战 雄霸一方 新增宠物技能 绝对小能手 花千骨 三尾章鱼 风色轨迹 双枪手 弑之神 缤纷好礼 惊喜六重连 帮会 中秋福利 自制月饼 九阴真经 玩家 五周年纪念 纪念银币 名动三界 新服资料片 画江山 勇战妖魔 邪恶势力 上古降魔 老司机玩法 坐骑揭秘 黑科技 竞技场攻略 铁血皇城 披风玩法 书剑恩仇录 装备强化攻略 野外BOSS玩法 全网曝光 赤壁传说 半回合制国 ACT 奇珍商城 热血战歌 传奇宝藏抽奖 打开方式 门徒 门徒获取玩法 三大萌宠简介