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,檢查一下是否正常!