|
为了配置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
配置完了,希望对大家有用。 |
评分
-
查看全部评分
|