标签为 ‘nginx’

01

在96M内存的VPS上跑高性能的LAMP应用WordPress

通常情况下,在一个96M内存的VPS上安装apache2,mysql,php5之后再安装一个wordpress,那么apache在相应三五的连接请求之后,VPS的内存就几乎快要用完了,这时候如果连接请求不断增加,VPS将会内存耗尽,内存耗尽之后,无论有没有swap,CPU的占有率就会很高。我们RasHost VPS已经有很多客户都碰到过这种情况。实践证明,96M内存的VPS使用Apache跑PHP的应用不能支持大的并发。主要原因就是apache+mod_php的内存占用比较高。
为了解决这个问题,我们采用了Nginx+FastCGI PHP+MySQL的方案。Nginx是Web Server的后起之秀,性能比Apache高出不少。实践证明Nginx+FastCGI PHP+MySQL比Apache+PHP要节省资源!
在Linux VPS下配置Nginx+FastCGI PHP+MySQL需要如下几个步骤:

配置nginx+fastcgi php+mysql的环境
安装wordpress
配置nginx URL rewrite用以支持wordpress的永久链接。

对于第一步,请参考我们以前的博客:

在Ubuntu 8.04 LTS(hardy)下安装配置nginx和fastcgi方式的php

在CentOS5下安装配置nginx+fastcgi php+mysql

对于第二步,安装wordpress跟在apache下一样,不再罗嗦了。安装完wordpress后就可以正常使用了,如果想要启用wordpress的不带问号方式的永久链接,则需要进行第三步。
第三步,我配置的永久链接是这个形式:/index.php/%year%/%monthnum%/%day%/%postname%/ 要达到这种效果需要修改nginx的配置文件/etc/nginx/sites-enabled/default中的相应内容为:

location / {
root /var/www/nginx-default;
index index.php index.html index.htm;
if (!-e $request_filename) {
rewrite ^(.+)$ /blog/index.php?q=$1 last;
}
}

增加的部分就是这个if语句。这个if语句的意思是:如果碰到一个连接请求($request_filename),而这个连接请求所代表的文件是不存在的(!-e表示不存在,熟悉bash编程的人应该能看出来),那么将改写这个请求的URL,改写方式按照这个rewrite语句进行。
然后重启nginx就可以了,一个96M内存的VPS上的高性能的WordPress就有了!这个配置能跑多少个并发还有待测试!

24

在Ubuntu 8.04下配置nginx和fastcgi方式的php

最近我们(瑞豪开源Xen VPS: http://www.RasHost.com)的一个客户要求在他的Ubuntu 8.04 VPS上安装一个高性能的web服务器nginx,下面是我的安装记录。
由于Ubuntu 804已经包含了nginx,所以根本不要编译,安装超简单!
在VPS上修改/etc/apt/sources.list文件内容为:

deb http://ubuntu.cn99.com/ubuntu hardy main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu hardy-security main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu hardy-updates main restricted universe multiverse

然后运行:

apt-get update
apt-get install nginx

即可完成安装
启动nginx:

/etc/init.d/nginx start

然后就可以访问了,http://58.30.17.160/ , 一切正常!如果不能访问,先不要继续,看看是什么原因,解决之后再继续。
下面配置php和mysql。
安装php和MySQL:

apt-get install php5-cli php5-cgi mysql-server-5.0 php5-mysql

我们需要/usr/bin/spawn-fcgi这个文件,而它是属于lighttpd这个包里面的,所以我们安装lighttpd然后把它设置为开机不启动:

apt-get install lighttpd #我们只要/usr/bin/spawn-fcgi
rcconf #去掉lighttpd开机自启动

修改nginx的配置文件:/etc/nginx/sites-available/default
修改 server_name 58.30.17.154;
修改index的一行修改为:
index index.php index.html index.htm;
去掉下面部分的注释:

location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param [...]

    功能

    朋友

    链接

    Alexa排名信息

    Yahoo! 统计