ubuntu server 11.04 安装配置 nginx + php-fpm + mysql

【转》http://b.gkp.cc/2010/10/12/setup-nmp-on-ubuntu-1010/

1. 安装好 ubuntu server 11.04并升级软件包后,接下来安装 nginx + php-fpm + mysql,11.04 中的 php 已经是自带 php-fpm 的 5.3.3,所以 php-fpm 理所当然成为 fastcgi 的首选。

2.安装 mysql:sudo apt-get install mysql-server

3.使用官方 ppa 安装 nginx:(或sudo apt-get install nginx)

sudo apt-get install python-software-properties

sudo add-apt-repository ppa:nginx/stable

sudo apt-get updatesudo apt-get install nginx

4.安装 phpy + php-fpm + 其他模块:

sudo apt-get install php5-cgi php5-mysql php5-fpm 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

5.配置 php:sudo vi /etc/php5/fpm/php.ini

设置cgi.fix_pathinfo=0   原因见这里

6.接下来修改 nginx 虚拟主机设置:

sudo rm -r /etc/nginx/sites-available

sudo rm /etc/nginx/sites-enabled/default

sudo vi /etc/nginx/sites-enabled/default

内容,我这里 IPv4 和 IPv6 用了两条独立的命令监听,原因见这里。—我尝试过两个同时开报错:(98: Address already in use),nginx不能启动,必须注释掉一个。

server {

#listen   [::]:80;#只需保留一个

listen   80;

server_name  xxx.xxxxx.xxx;

root   /var/www/;

#access_log  /var/www/log/xxx-access.log;

#error_log   /var/www/logs/xxx-error.log;

location / {

index  index.php index.html index.htm;

}

#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$ {

fastcgi_pass   127.0.0.1:9000;

fastcgi_index  index.php;

include        fastcgi_params;

}

location ~ /.ht {

deny  all;

}

}

7.修改 fastcgi 参数,

sudo vi /etc/nginx/fastcgi_params

加入:

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name; —这行与默认配置中内容重复不需重新添加

fastcgi_param  PATH_INFO          $fastcgi_script_name;

fastcgi_connect_timeout 60;

fastcgi_send_timeout 180;

fastcgi_read_timeout 180;

fastcgi_buffer_size 128k;

fastcgi_buffers 4 256k;

fastcgi_busy_buffers_size 256k;

fastcgi_temp_file_write_size 256k;

fastcgi_intercept_errors on;

 

8.重新启动 nginx 和 php-fpm,配置完成:

sudo /etc/init.d/nginx restart

sudo /etc/init.d/php5-fpm reload