lighttpd+PHP(FAST-CGI)+MySQL的学习笔记

  早就听说lighttpd加PHP的FAST-CGI方式性能不错,抽时间装了下.只是完成了环境的安装,还没具体看性能什么的!
  以下是我装lighttpd+PHP(FAST-CGI)+mysql的,如有问题,请给我评论.
  一、先安装MySQL
  安装mysql,你可以安装源码包,也可以用编译好的!直接解压拷贝也行.我用的是直接拷贝编译好的!
  1.编译源码包
  ./configure --prefix=/data2/ali --enable-assembler --enable-thread-safe-client --without-debug
  make
  make install
  2.用编译好的压缩包!直接解压拷贝
  tar zxf mysql-standard-5.0.27-linux-i686-glibc23.tar.gz
  cd mysql-standard-5.0.27-linux-i686-glibc23
  cp -rf mysql-standard-5.0.27-linux-i686-glibc23 /usr/local/mysql
  //以下是为了启动多个端口
  mkdir -p /data2/ali/mysql3308
  mkdir -p /data2/ali/mysql3309
  ./scripts/mysql_install_db --ldata=/data2/ali/mysql3308
  cp support-files/my-medium.cnf /data2/ali/mysql3308/my.cnf
  vi /data2/ali/mysql3308/my.cnf
  修改内容如下:
  #
  [mysqld]
  datadir = /data2/ali/mysql3308/
  port = 3308
  socket = /tmp/mysql-3308.sock
  #
  cp /data2/ali/mysql3308/ /data2/ali/mysql3309/
  vi /data2/ali/mysql3309/my.cnf
  修改内容如下:
  #
  [mysqld]
  datadir = /data2/ali/mysql3309/
  port = 3309
  socket = /tmp/mysql-3309.sock
  #
  启动mysql
  /usr/local/mysql/bin/mysqld_safe --defaults-file=/data2/ali/mysql3308/my.cnf --user=root &
  /usr/local/mysql/bin/mysqld_safe --defaults-file=/data2/ali/mysql3309/my.cnf --user=root &
  检查mysql是否启动成功。
  ps -ax|grep mysql
  20835 pts/3 S 0:00 /bin/sh ./mysqld_safe --defaults-file=/data2/ali/mysql3308/my.cnf --user=root
  20862 pts/3 Sl 0:00 /usr/local/mysql/bin/mysqld --defaults-file=/data2/ali/mysql3308/my.cnf --basedir=/usr/local/mysql --datadir=/data2/ali/mysql3308/ --user=root --pid-file=/data2/ali/mysql3308//XD_Blog_Web_132_42.pid --skip-external-locking --port=3308 --socket=/tmp/mysql-3308.sock
  20872 pts/3 S 0:00 /bin/sh ./mysqld_safe --defaults-file=/data2/ali/mysql3309/my.cnf --user=root
  20903 pts/3 Sl 0:00 /usr/local/mysql/bin/mysqld --defaults-file=/data2/ali/mysql3309/my.cnf --basedir=/usr/local/mysql --datadir=/data2/ali/mysql3309/ --user=root --pid-file=/data2/ali/mysql3309//XD_Blog_Web_132_42.pid --skip-external-locking --port=3309 --socket=/tmp/mysql-3309.sock
  连接mysql
  mysql -S /tmp/mysql-3108.sock
  二、接着安装php
  tar zxf php-5.2.4.tar.gz
  cd php-5.2.4
  ./configure \
  --prefix=/usr/local/php-fcgi \
  --enable-fastcgi \
  --enable-force-cgi-redirect \
  --without-iconv \
  --enable-mbstring \
  --with-mysql=/usr/local/mysql
  make
  make install
  复制参数文件到目标目录:
  cp php.ini-dist /usr/local/php-fcgi/lib/php.ini
  检查fast-cgi是否安装成功可以运行如下命令
  /usr/local/php-fcgi/bin/php-cgi -v
  显示如下信息,内容里包含“PHP 5.2.4 (cgi-fcgi)"表示支持fast-cgi了
  PHP 5.2.4 (cgi-fcgi) (built: Oct 28 2007 20:08:41)
  Copyright (c) 1997-2007 The PHP Group
  Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
  三、最后安装lighttpd
  1.安装配置lighttpd
  1.1 首先创建运行lighttpd的用户和组
  # groupadd lighttpd
  # useradd -g lighttpd -s /sbin/nologin -d /dev/null lighttpd
  1.2 开始安装lighttpd
  # wget http://www.lighttpd.net/download/lighttpd-1.4.8.tar.gz
  # tar -zxvf lighttpd-1.4.8.tar.gz
  # cd lighttpd-1.4.8
  # ./configure --prefix=/usr/local/lighttpd
  # make
  # make install
  # mkdir /usr/local/lighttpd/conf
  # mkdir /usr/local/lighttpd/log
  # mv ./doc/lighttpd.conf /usr/local/lighttpd/conf/
  # cp ./doc/rc.lighttpd.redhat /etc/init.d/lighttpd
  vi conf/lighttpd.conf
  将 #”mod_fastcgi”, 的#去掉
  server.modules = (
  "mod_rewrite",
  "mod_redirect",
  # "mod_alias",
  "mod_access",
  # "mod_cml",
  # "mod_trigger_b4_dl",
  # "mod_auth",
  # "mod_status",
  # "mod_setenv",
  "mod_fastcgi",
  找到fastcgi的定义
  #### fastcgi module
  ## read fastcgi.txt for more info
  ## for PHP don't forget to set cgi.fix_pathinfo = 1 in the php.ini
  fastcgi.server = ( ".php" =>
  ( "localhost" =>
  (
  "socket" => "/var/run/lighttpd/php-fastcgi.socket",
  "bin-path" => "/usr/local/php-fcgi/bin/php-cgi"
  )
  )
  )
  一开始我把配置写"bin-path" => "/usr/local/php-fcgi/bin/php"这样,发现报错,后来改了下以上的配置,发现OK了!
  启动lighttpd命令是这样的:
  /usr/local/lighttpd/sbin/lighttpd -f conf/lighttpd.conf
  最后可以在程序目录下建个test.php,检查一下是否正常!