Debian Lenny安装配置nginx + mysql + php5-fpm + phpmyadmin

2011-01-09 07:15

这里的Debian是以最小化方式安装的系统,安装好之后占磁盘空间在700M左右,常见的是VPS上系统,通过网络安装的Debian系统。
本例在Debian 5(lenny)上通过。
首先安装nginx及mysql,安装前确定更新了系统,见:/blog/201101011211.html

命令:

apt-get install mysql-server nginx

在安装mysql时会出来界面设置mysql数据库的root密码,一定记得。
安装好nginx后,nginx默认是没有运行的,版本是0.6.32,你可以在安装好之后重新编译一个新版本的nginx在系统上,旧版本无须移除,见:Debian lenny下编译nginx
如果你需要ssl支持,最好编译最新版的openssl后再编译nginx,见:Debian lenny下编译openssl
nginx与mysql安装好之后,接下来安装php5,这里安装的是php5-fpm,即打了fpm补丁与apc加速的php5,使用的是deb版本,
修改/etc/apt/source.list,加入dotdeb的源设置,添加:

deb http://php53.dotdeb.org stable all
deb-src http://php53.dotdeb.org stable all

然后更新源:

apt-get update

安装php5-fpm

apt-get install php5-cgi php5-fpm php5-apc php5-gd php5-curl php5-mysql php5-sqlite php5-mcrypt php5-xmlrpc php5-recode php5-suhosin

以上命令中已安装了apc及suhosin。
配置nginx支持php-cgi,编辑文件/etc/nginx/nginx.conf或你的网站配置文件,添加

location ~ .php$ {
	include fastcgi_params;
	fastcgi_pass   127.0.0.1:9000;
	fastcgi_index  index.php;
	fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
	fastcgi_param SERVER_NAME $http_host;
	fastcgi_ignore_client_abort on;
        }

其中以后可能会遇到上传文件大小的问题,修改nginx.conf,在http字段中修改为如下类似的代码:

http {
    client_max_body_size 20m;
}

重启nginx

/etc/init.d/nginx restart

并修改php.ini,位于/etc/php5/fpm/php.ini
找到:
post_max_size及upload_max_filesize
修改上传大小限制为20M:

post_max_size = 20M
upload_max_filesize = 20M

可跟据自已需要设置。
重启php-fpm以便生效

/etc/init.d/php5-fpm restart

配置phpmyadmin,这里不谈如何下载,只谈下nginx下phpmyadmin虚拟目录的配置,这个有点麻烦。
假设:
phpmyadmin放置在:/var/www/phpMyAdmin
你的网站放置在:/var/www/nginx-default
网站访问域名为http://www.test.com,访问phpmyadmin的URL应为:http://www.test.com/phpMyadmin/
在nginx下如何配置呢,编辑网站的配置文件,看以下配置代码:

server {
        listen 80;
        server_name www.test.com;
        root /var/www/nginx-default;
	location /phpMyAdmin/ {
		root /var/www;
		index  index.html index.htm index.php;
	}
	location ~ ^/phpMyAdmin/.*.php$ {
           root   /var/www;
                fastcgi_pass   127.0.0.1:9000;
		include fastcgi_params;
		fastcgi_index index.php;
		fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
		fastcgi_param SERVER_NAME $http_host;
		fastcgi_ignore_client_abort on;
	}
	location ~ .php$ {
		include fastcgi_params;
		fastcgi_pass   127.0.0.1:9000;
		fastcgi_index  index.php;
		fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
		fastcgi_param SERVER_NAME $http_host;
		fastcgi_ignore_client_abort on;
        }
}

请注意大小写,如果访问路径为http://www.test.com/phpMyadmin/,那么在/var/www/目录下也应该为phpMyAdmin.
如果你有多少虚拟机,需要在每个域名下都可访问,仅修改/etc/nginx/nginx.conf即可。
以上方法安装好php5-fpm后,无法运行探针程序,phpinfo();命令...,原因未知。

0 条回复

说两句