Skip to content


nginx系列(1):快速搭建nginx + php fastcgi系统

nginx历吏比较短,由俄罗斯人编写,以性能卓越闻名。国内用nginx做server的公司还不多,相关的学习文档还不是很完全。边学边记,共同学习。

首先分享一下搭建nginx心得.其实在ubuntu下面建立nginx平台还是十分的简单,只不过本人用linux系统的不长以及nginx的相关文档比较少,以至在前期走了不少的弯路.

1. 测试平台: ubuntu8.04

2.安装nginx
1)sudo apt-get install nginx
2)相关路径:
conf: /etc/nginx/nginx.conf
bin: /usr/sbin/nginx
vhost: /etc/nginx/sites-enable/default
cgi-params: /etc/nginx/fastcgi-params
3)例子:建一个虚拟server
在/etc/nginx/sites-enable/default中添加以下代码
server {
listen 80; //端口
server_name home.ucenter; //虚拟域名
access_log /var/log/nginx/home.ucenter.access.log; //访问日志
location / {
root /home/shanfeng/workspace/ucenter-home; //size根目录
index index.php;
}
location ~ \.php$ { #php fastcgi的配置
fastcgi_pass 127.0.0.1:9000; #php fastcgi的代理端口与ip
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/shanfeng/workspace/ucenter-home$fastcgi_script_name; #要处理的php文件的路径
include /etc/nginx/fastcgi_params; #fastcgi的参数文件地址
}
}2.安装php-cgi
为了安装这个php-cgi可花了不少时间,看了很多文档都比较复杂。后来发现php5就带有php-cgi.安装起来就方便了很多
1)sudo apt-get install php5-cgi
2)相关路径:
php-cgi: /usr/bin/php-cgi
php5-cgi: /usr/bin/php5-cgi
cig config: /usr/bin/cgi/php.ini
3)修改php.ini文件

   cgi.fix_pathinfo=1;   这样php-cgi方能正常使用SCRIPT_FILENAME这个变量

3.安装spawn-fcgi  spawn-fcgi是lighttpd的一个用来控制php-cgi的工具.
  wget http://www.lighttpd.net/download/lighttpd-1.4.19.tar.gz
  tar -xvf lighttpd-1.4.19.tar.gz
  cd lighttpd-1.4.19/
  sudo apt-get install libpcre3-dev
  ./configure --without-zlib --without-bzip2
  make
  sudo cp src/spawn-fcgi /usr/local/bin/spawn-fcgi
这样cgi控制器就安装完成.

4.启动测试系统.

 1)启动fast_cgi:

  spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php-cgi

  注意:ip,端口与nginx服务器中的cgi-pass要对应. -C表示打开几个cgi进程

  2)启动nginx  (配置为上面server的设置)

   sudo /etc/init.d/nginx start

  3)在根目录下面添加一个index.php。

接着访问http://home.ucenter/就可以看到index.php执行的内容

  别忘了改host哈.

Posted in linux, nginx, php, 技术.

Tagged with , , , , .


5 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. Owlerx says

    用相同主题的纯飘过…

  2. wyt says

    最近正想试试nginx呢,找到这个系列了,great work, thank u!

  3. 果沟 says

    多沟通

  4. yang says

    请教一下(nginx+php-cgi+mysql),我通过修改php.ini来更改上传文件大小为4M。但是上传的时候,却无法上传超过1m的文件。
    上传有问题,超过1m就停住在100%那里不动了。
    请教,谢谢!

  5. 果沟 says

    不知道你改的是哪个参数upload_max_filesize ?

    看看访问超时时间是多少,有没有可能还没传完就超时了

    还有要记得重新启动.



Some HTML is OK

or, reply to this post via trackback.