9 安装php并配置nginx
sudo apt-get install php5-cgi php5-MySQL php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
在fastcgi进程选择上,可以使用spawn-fcgi,不过新版php已经内置php5-f更推荐使用处理方式更佳的php5-fpm.原来需要使用php-fpm,必须使用打补丁的php版本,不过现在的版本已经不需要,但是Ubuntu只有10.10以后的版本的官方源才有这个软件包,因此,需要修改官方源:
sudo vi /etc/apt/sources.list
在末尾增加:
deb maverick main
deb lucid main
deb-src lucid main
然后更新源的软件包数据:
sudo apt-get upgrade
然后安装:
sudo apt-get install php5-fpm
修改php5-fpm的配置文件:
sudo vi /etc/php5/fpm/php.ini
将_;cgi.fix_pathinfo=1_的注释取消掉:
cgi.fix_pathinfo = 1
这样php-cgi方能正常使用SCRIPT_FILENAME这个变量。
以及根据自己服务器的实际情况,修改这两个参数:
pm.max_children = 1280 ;pm.max_requests = 1000
配置nginx.conf
特别注意替换多处root与index.php的增加。
location / {
root html;
index index.php index.html index.htm;
}
如果是使用passenger默认路径安装的nginx,则默认路径指向html,有的教程所说的/var/www/nginx-default路径不存在,请注意区分。
并修改一些默认的参数,使得php生效。
server {
listen 80;
server_name xxx.xxxxx.xxx;
#access_log /var/www/log/xxx-access.log;
#error_log /var/www/logs/xxx-error.log;
location / {
root /users/shuqi888/projects/demo/public;
passenger_enabled on;
rails_env development;
}
#error_page 404 /404.html;
# 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;
#}
location ~ \.php$ {
root /var/www/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
测试php文件,创建一个test.php,里面内容为:
<?php
phpinfo();
?>
上传到nginx默认安装路径指向的htm路径,正常应能出来php等环境信息。