重装了VPS,选用debian?6 32bit 安装免费版的 Litespeed 。

  1. 安装编译所需的程序以及mysql server 5.1
    apt-get install patch make gcc g++ autoconf2.13 libxml2-dev mysql-server zlib-bin zlib1g-dev libjpeg62-dev libpng12-dev libmysql++-dev mcrypt curl libcurl4-openssl-dev libmcrypt-dev libmhash-dev libfreetype6-devexport PHP_AUTOCONF=/usr/bin/autoconf-2.13
    export PHP_AUTOHEADER=/usr/bin/autoheader-2.13
    只有用2.13版的autoconf才能正确编译php,否则会出错
  2. 下载编译 linux x86版 Litespeed
    wget http://www.litespeedtech.com/packages/4.0/lsws-4.0.20-std-i386-linux.tar.gz
    tar xvf lsws-4.0.20-std-i386-linux.tar.gz
    cd lsws-4.0.20
    ./install.sh

    1. 出现许可协议按空格键,然后输入Yes接受协议:Do you agree with abot license ? 输入 Yes
    2. 询问LiteSpeed安装路径?可直接回车默认Destination [/usr/local/lsws]:
    3. 管理员用户名,回车使用默认adminUser name [admin]:接着输入两次管理员密码
    4. 管理员邮箱,如果回车使用默认:Email address [root@localhost]:
    5. LiteSpeed用户及组,回车使用默认即可:User [nobody]:Group [nogroup]:
    6. web服务端口,网站服务为80HTTP PORT [8088]:80
    7. 管理程序服务端口,默认为7080,直接回车即可Admin HTTP port [7080]:
    8. 是否安装phpSetup up PHP [Y/n]:Y
    9. 是否安装AWSatas ? NWould you like to install AWStats Add-on module [y/N]?N
    10. 是否设置litespeed为开机自动启动,YWould you lite to have LiteSpeed Web Server started automaticallywhen the server restarts [Y/n]?
    11. 安装完成后,是否启动,Y[OK] The startup script has been successfully installed!Would you like to start it right now [Y/n]?

    接着Litespeed成功运行

  3. 编译php进入管理后台 http://youdomain:7080 用刚才设置的帐号密码登入
    1. 在管理菜单选择 Actions->Compile PHP
    2. php5版本 选 5.3.5 Next
    3. Configure Parameters中,输入
      ‘–with-mysql’ ‘–with-mysqli’ ‘–with-zlib’ ‘–with-gd’ ‘–enable-shmop’ ‘–enable-track-vars’ ‘–enable-sockets’ ‘–enable-sysvsem’ ‘–enable-sysvshm’ ‘–enable-magic-quotes’ ‘–enable-mbstring’ ‘–with-iconv’ ‘–with-litespeed’ ‘–enable-inline-optimization’ ‘–with-curl’ ‘–with-curlwrappers’ ‘–with-mcrypt’ ‘–with-mhash’ ‘–with-mime-magic’ ‘–with-openssl’ ‘–with-freetype-dir=/usr/lib’ ‘–with-jpeg-dir=/usr/lib’Add-on Modules 看需要勾选,这里我编译了APC,当前版本为3.1.16
      点 build PHP 5.3.5
      下一步会在后台下载所需源代码,解压,打补丁。不要刷新,静静等待出现Next
    4. 会给您一行代码,您需要在ssh里面运行:
      /usr/local/lsws/phpbuild/buildphp_manual_run.sh
      慢慢等待,如果不缺少头文件或库文件的话,会顺利编译通过
      Detailed Log:最后出现 **COMPLETE** 的时候 表示编译完成
      如果没有成功,也在Detailed Log: 中寻找问题,一般来说编译不成功都是缺少依赖文件。
      实在找不到的时候,可以google或给我留言
    5. 管理菜单中,选择Actions->Graceful Restart,来重启web服务
    6. 访问http://youdomain/phpinfo.php成功的话将会列出php信息
  4. 安装phpMyAdmin在phpmyadmin官网下载最新版,解压到/usr/local/lsws/DEFAULT/html/重命名之后即可以通过 http://youdomain/phpmyadmin/index.php 进行管理
  5. 开启apc在/usr/local/lsws/lsphp5/lib/ 目录新建一个php.ini文件,重启服务后将会引入这个配置文件
    [apc]
    extension=apc.so
    apc.shm_size = 16M
    重启,查看phpinfo中APC是否正确开启,将在下篇中介绍一些APC的配置和使用

好了,一个高性能,同时兼容apache配置的web服务器建好了,等我用用之后再写一篇应用配置。感谢收看。

*修订版 1
添加了GD库中 freetype和jpeg的支持

*修订版 2
系统升级到Debian 6
Mysql升级到5.1
Litespeed 升级到4.0.20
php升级到5.3.5

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: 在Debian 中安装 Litespeed (第一次修订)

joomla 在Niginx下的rewrite规则很简单,主要就是红色部分
如果出现502错误,请参看前一篇介绍
server {
  server_name www.xxx.com;
  root /home/xxx/www/www.xxx.com;
  index index.php index.html;
 
  location / {
    try_files $uri $uri/ /index.php?q=$request_uri;
  }
 
  location ~ .php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  }
}

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: Joomla Nginx rewrite

[ISAPI_Rewrite]
RewriteRule ^/admin(.*) /admin/$1 [L]
RewriteRule ^/(.*)(html|htm)$ /index.php/$1$2 [L]
RewriteRule ^([^.]+)$ /index.php/$1 [L]

说明一下
第一条 重定向后台地址
第二条 将带html htm 后缀的重写
第三条 排除带”.”的 其余的全部重写
缺点:
使用像 google网站管理员 通过html文件来验证的时候麻烦一点
得在前面添加一条
RewriteRule /google26f74facfee37a5d.html $0 [L]

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: typecho IIS rewrite 规则

phurl是一款非常优秀的PHP开源短网址服务程序,官方提供了基于apache的rewrite规则,这里给出我写的基于IIS的rewrite规则

而现在大部分国内IDC使用的是基于IIS的全能型主机,如果你购买的就是IIS主机,那么这条规则你一定用得上!

[ISAPI_Rewrite]

RewriteRule ^/([a-zA-Z0-9_-]+)$ /redirect.php?alias=$1

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: phurl IIS Rewrite 规则

是在qeephp论坛看到的一条规则,排除所有带 “.”的请求,其余的全部重写向index.php

[ISAPI_Rewrite]
RewriteCond Host: www.xxx.com
RewriteRule ^([^.]+)$ /index.php/$1 [L]

由于sitemap模块动态生成 sitemap.xml,所以也需要重写向index.php

RewriteCond Host: www.xxx.com
RewriteRule /sitemap.xml /index.php/sitemap [L]

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: Kohana v3 IIS rewrite 规则

测试环境

YardVPS $3.5套餐 (之前的介绍)

Debian 5 + Nginx0.7.67 + php5.3.3 + php5-fpm + mysql5.0.51

测试站:购乐宝

缓存方式:apc

测试方式 webbench 10并发 30秒

 

$webbench -t 30 -c 10 http://www.golebo.com/

不使用用户缓存 最好结果

Benchmarking: GET http://www.golebo.com/
10 clients, running 30 sec.
Speed=866 pages/min, 408085 bytes/sec.
Requests: 433 susceed, 0 failed.

 

使用用户缓存,最好结果

Benchmarking: GET http://www.golebo.com/
10 clients, running 30 sec.
Speed=8260 pages/min, 3907868 bytes/sec.
Requests: 4130 susceed, 0 failed.

 

10倍的速度提升,相信启用缓存非常有效!

 

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: kohana 启用cache模块,采用apc缓存用户数据,令并发连接性能提高10倍

今天装完joomla,能进后台,但是前台一直报502 Bad Gateway错误,网上搜索后找到解决办法,是由于Nginx中FastCGI buffer不够,这是张宴前辈的配置
修改nginx.conf,添加如下fastcgi设置
http {

  ********

    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffer_size 64k;
    fastcgi_buffers 4 64k;
    fastcgi_busy_buffers_size 128k;
    fastcgi_temp_file_write_size 128k;
  *******
}

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: 解决由FastCGI Buffer不够引起的Joomla 在Nginx下出现 502 Bad Gateway 错误

kohana官方手册中的规则有点小问题,这是我测试通过的规则

红色的地方是特别注意的地方,要求nginx版本> 0.7.31

debian 5 现在的Nginx才在0.6.x  之前试了很久都出错

现在使用

Dotdeb的 php5.3 php5-fpm php5-cgi

debian 6 中的 nginx 0.7.67

server {
    server_name  golebo.com;
    root   /home/xxxx/www/golebo.com;

    location / {
        index  index.html index.htm index.php default.php;
        try_files $uri $uri/ /index.php$uri?$args;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
    location ~ ^(.+.php)(.*)$ {
        fastcgi_split_path_info ^(.+.php)(.*)$;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        fastcgi_param  PATH_INFO          $fastcgi_path_info;
        include        fastcgi_params;
    }
}

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: Kohana v3 Nginx rewrite 规则

location / {
        index  index.html index.htm index.php;

        if (-f $request_filename/index.html){
            rewrite (.*) $1/index.html break;
        }
        if (-f $request_filename/index.php){
            rewrite (.*) $1/index.php;
        }
        if (!-f $request_filename){
            rewrite (.*) /index.php;
        }

    }

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: typecho Nginx rewrite 规则

安装mysql

apt-get install mysql-server

安装php

apt-get install php5-common php5-cgi php5-mysql php5-curl php5-gd php5-imagick php5-mcrypt  php5-sqlite php-apc

安装Nginx

apt-get install nginx

安装spawn-fcgi

$wget http://www.lighttpd.net/download/spawn-fcgi-1.6.3.tar.gz
$tar -xvf spawn-fcgi-1.6.3.tar.gz
$cd spawn-fcgi-1.6.3
$./configure –prefix=/usr
$make

$sudo make install

启动php5-cgi
$spawn-fcgi -a 127.0.0.1 -p 9000  -u www-data -g www-data -f /usr/bin/php5-cgi

配置Nginx

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: Debian5 安装Nginx+php(spawn-fcgi) + Mysql