HatsuneMiku 2009-09-16
本文介绍在Debian 5 VPS下的nginx+php+mysql的解决方案,本方案使用php-fpm作为fastcgi的进程管理器。
本文基于64位的Debian 5 VPS,如果是32位的Debian VPS,请在相应部分做修改。
使用php-fpm就必须重新编译php,不能使用系统自带的php。MySQL使用Debian自带的,Nginx是从Debian官方软件库中下载的最新版本。
安装Nginx
Debian 5系统自带的nginx版本比较低,现在Nginx的新稳定版本0.7.61,即将发行的Debian 6里面带的是最新版本的nginx,测试后发现这个nginx在Debian 5下可以运行。安装命令:
wget http://ftp.us.debian.org/debian/pool/main/n/nginx/nginx_0.7.61-2_amd64.deb
dpkg -i nginx_0.7.61-2_amd64.deb
/etc/init.d/nginx start
mkdir -p /var/www/nginx-default
echo ‘nginx ok’>/var/www/nginx-default/index.html
echo ‘‘ > /var/www/nginx-default/test.php
另外运行dpkg -L nginx命令可以看到nginx的文件都安装在哪些目录下面了
Debian下nginx的缺省网页目录是/var/www/nginx-default,这个目录安装的时候没有创建,我们是手工创建的。
通过浏览器访问,应该能看到nginx的缺省网页了,说明nginx正常工作了!
安装MySQL
我们使用Debian自带的MySQL,安装命令:
apt-get install mysql-server-5.0
/etc/init.d/mysql start
运行mysql -uroot -p命令,应该可以正常连接到MySQL
安装php & php-fpm
安装php所需要的库文件:
apt-get update
apt-get install libxml2 libldap-2.4-2 libmhash2 curl libpng3 libjpeg62 libsasl2-2 libmcrypt4
到http://rashost.com/download 下载安装我们自己在Debian下编译的php-fpm:
cd /opt
tar zxf php-fpm-5.2.10-amd64.tar.gz
ln -s /opt/php/sbin/php-fpm /etc/init.d/php-fpm
update-rc.d -f php-fpm defaults
/etc/init.d/php-fpm start
整合
首先在/var/www/nginx-default目录下创建文件test.php,其内容很简单,只要下面一行:
假设所在VPS的地址是debian5.rashost.com,这时通过浏览器访问http://debian5.rashost.com/test.php是得不到正确的显示结果的。
修改nginx的配置文件/etc/nginx/sites-enabled/default,在文件内搜索fastcgi_pass,修改该部分内容为:
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/nginx-default/$fastcgi_script_name;
include fastcgi_params;
}
注意,Debian下的nginx配置文件和CentOS下的区别比较大,Debian下把配置分割成多个文件了,推荐一个站点一个配置文件,我们修改的是/etc/nginx/sites-enabled/default。另外fastcgi_param参数后面的/var/www/nginx-default/部分,这是具体的网页目录,如果像Debian下那样写成$document_root不知道为什么就不工作了。
然后重启nginx:
/etc/init.d/nginx/restart
然后在浏览器中访问test.php页面,http://ubuntuone.cn就应该能正确显示了,reboot VPS测试一下,各个模块应该都能自带启动。大功告成!