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