|  | 
 
| 为了配置nginx+codeigniter+php,我都不知道花了多少时间,壮烈了多少脑细胞…… 主要是基本的例子程序都不成,URI的参数总是传不过去。经过………………奋战………………奋战……………………终于弄好了。给新手朋友们一个见面礼吧~~
 
 php:5.3.2
 nginx:0.8.35
 server:CentOS release 5.2
 
 1, php编译时要加上fastcgi和pfm两项,将 --enable-fastcgi --enable-fpm 打开。pfm是从svn.php.net网站上下对应的5.3版的文件。
 cd /usr/local/php-5.3.2
 svn co http://svn.php.net/repository/ph ... es/PHP_5_3/sapi/fpm sapi/fpm    <-- 要先安装subversion
 ./buildconf --force    <-- 出错的话,看看是不是没装autoconf , 正确的话在./configure --help中可以看到enable-fpm这一项。
 ./configure --prefix=/usr/local/php -enable-fastcgi --enable-fpm ...    <-- 再加上你想要的参数,可能会出错几次[——!],缺什么就装什么吧.
 make
 make install
 cp php.ini-production ../php/etc/php.ini
 cd ../php
 cp etc/php-fpm.conf.default etc/php-fpm.conf
 修改php-fpm.conf文件,以下三行注释放开。
 pm.start_servers = 20    <--- 我设的5,单纯测试用的话可以小点.
 pm.min_spare_servers = 5
 pm.max_spare_servers = 35
 sbin/php-fpm -i etc/php.ini -y etc/php-fpm.conf
 ok --> php配置完成!
 
 2,配置nginx.conf文件,我用的是nginx 0.8.35,官网直接挡的.编译安装比较简单,主要说一下配置文件的修改.
 server {
 ......
 location / {
 root    /var/www/codeigniter;    <-- 默认的安装目录,可以修改成自己的web站点安装目录.
 index  index.php index.htm;    <-- 加上index.php
 if (!-e $request_filename) { // 注意下边改成自己的IP地址和端口号
 rewrite ^/(index.php/)(.*)([/])$ http://192.168.1.100:8080/$2/index.php break;
 }
 }
 ......
 location ~ \.php$ {    <-- 去掉fastcgi这部分注释,主要任务就是发现是访问php的就转给PHP处理.
 include        fastcgi_params;
 fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/codeigniter/index.php;    <-- 要换成自己的站点
 fastcgi_index  index.php;
 fastcgi_pass   127.0.0.1:9000;
 if ($fastcgi_script_name ~ "^(/index.php)(/.*)(\.php)$") {    <-- 以下是uri处理部分
 set $path_info $2/;
 }
 fastcgi_param PATH_INFO $path_info;
 }
 }  // server
 
 /nginx/sbin/nginx    <-- 启动nginx
 
 配置完了,希望对大家有用。
  | 
 评分
查看全部评分
 |