当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 7 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : Nginx+PHP(Fastcgi)安装过程
帖子发表于 : 2009-05-26 2:25 

注册: 2006-12-16 4:07
帖子: 101
送出感谢: 0 次
接收感谢: 0 次
这东西其实网上搜搜一大把,但恰恰在我的机器上遇到了网上没有说到的问题-。-

我用的Kubuntu 9.04,在自己的桌面系统上测试的,最近打算用这东西代替Apache。

按网上的教程做下来一直显示No input file specified

改了半天配置没解决,最后想到是不是路径根本性有误,因为我是配置在VHost下的,所以把
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
在server配置中改为了
fastcgi_param SCRIPT_FILENAME /wwwroot/bbs/$fastcgi_script_name;
这样直接指定路径的方式,即可以正常访问了。
(期间试过fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;中间加个杠也没用)

问题有可能是因为我用的nginx是apt-get装的,版本有点旧吧。

下面给出我安装的全过程,其实除了这些大同小异了。

有时候解决了一些问题想记一下,不过我这人已经懒到连BLOG都不愿意弄的地步了,只好帖这里-。-

================================================================

1、安装Nginx
apt-get install nginx
(要最新版本下载下来编译吧)
装完应该能正常运行了。如果之前有装APACHE要改下端口。。。或者直接
apt-get remove apache2
/etc/init.d/nginx stop
/etc/init.d/nginx start

2、安装php-cgi
apt-get install php-cgi
(要自定义安装的编译吧)

3、改php-cgi的配置
Ubuntu下是/etc/php5/cgi/php.ini
之前有安装过php的话会复制apache的配置文件
打开cgi.fix_pathinfo选项:
cgi.fix_pathinfo=1;

4、改Nginx的fastcgi传递参数
Ubuntu下是/etc/nginx/fastcgi_params
默认应该已经设置好了,内容差不多就下面那样:
代码:
fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;


5、创建VHost配置(这里只说Ubuntu下的,也就路径和包含文件目录的区别了)
在/etc/nginx/sites-available/下创建服务器配置文件比如myserver
ln -n /etc/nginx/sites-available/myserver /etc/nginx/sites-enabled/myserver
其实懒的话直接创建在enabled里也没问题-。-

内容填:
代码:
server {
        listen   80;
        server_name myserver.com;
        access_log  /var/log/nginx/myserver.access.log;

        location / {
                root   /wwwroot/myserver;
                index  index.php;
                autoindex off;
        }

        location ~ \.php$ {
                include /etc/nginx/fastcgi_params;
                fastcgi_param SCRIPT_FILENAME /wwwroot/myserver/$fastcgi_script_name;
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
        }

        # redirect server error pages to the static page /50x.html
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
                root   /var/www/nginx-default;
        }
        # deny access to .htaccess files, if Apache's document root
        location ~ /\.ht {
                deny  all;
        }
}


6、安装spawn-fcgi
下载可到这里,这东西已经独立出来了
http://redmine.lighttpd.net/projects/spawn-fcgi/wiki
下完后解压编译
sudo ./configure --prefix=/usr/local
sudo make
sudo make install

7、启动spaw-fcgi
sudo spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -C 10

哦,对后面10进程不爽的人可以取消或是加到100 :em04

8、重启Nginx
/etc/init.d/nginx restart

9、定义下hosts就可以看结果啦
编辑/etc/hosts加入
127.0.0.1 myserver.com

然后打开浏览器就可以看结果啦~

有问题欢迎指出~~


最后由 Erunia 编辑于 2009-06-23 11:32,总共编辑了 1 次

页首
 用户资料  
 
2 楼 
 文章标题 : Re: Nginx+PHP(Fastcgi)安装过程
帖子发表于 : 2009-05-26 17:46 
头像

注册: 2008-05-23 16:01
帖子: 53
送出感谢: 0 次
接收感谢: 0 次
收藏~~ 谢谢分享 :em11


页首
 用户资料  
 
3 楼 
 文章标题 : Re: Nginx+PHP(Fastcgi)安装过程
帖子发表于 : 2009-05-28 3:21 
头像

注册: 2009-05-06 22:36
帖子: 44
送出感谢: 0 次
接收感谢: 0 次
咋才能设为开机自启呀`


_________________
易楼网 - 北京写字楼网:http://www.eelou.com/index.php


页首
 用户资料  
 
4 楼 
 文章标题 : Re: Nginx+PHP(Fastcgi)安装过程
帖子发表于 : 2009-06-02 1:51 

注册: 2006-12-16 4:07
帖子: 101
送出感谢: 0 次
接收感谢: 0 次
sudo update-rc.d nginx defaults
将设置开始时执行/etc/init.d/nginx defaults的指令


页首
 用户资料  
 
5 楼 
 文章标题 : Re: Nginx+PHP(Fastcgi)安装过程
帖子发表于 : 2009-06-10 9:38 

注册: 2009-04-28 14:51
帖子: 2
送出感谢: 0 次
接收感谢: 0 次
谢谢,收藏了,虽然现在还不会用,但学习过程中肯定能用到


页首
 用户资料  
 
6 楼 
 文章标题 : Re: Nginx+PHP(Fastcgi)安装过程
帖子发表于 : 2009-06-23 11:34 

注册: 2006-11-25 10:22
帖子: 13
送出感谢: 0 次
接收感谢: 0 次
mark :em09 :em09 :em09 :em09


页首
 用户资料  
 
7 楼 
 文章标题 : Re: Nginx+PHP(Fastcgi)安装过程
帖子发表于 : 2011-05-09 23:19 

注册: 2007-11-10 16:02
帖子: 78
送出感谢: 0 次
接收感谢: 0 次
做个标记……


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 7 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:Yahoo [Bot] 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译