I have long heard that the FAST-CGI method of lighttpd plus PHP has good performance, so I took the time to install it. I just completed the installation of the environment, and I haven’t looked at the performance yet!
The following is how I installed lighttpd. +PHP(FAST-CGI)+mysql, if you have any questions, please leave me a comment.
1. Install MySQL first
Install mysql, you can install the source code Packages can also be used compiled! You can also directly decompress and copy it. I used a direct copy and compiled version!
1. Compile the source package
./configure --prefix=/data2/ali --enable-assembler --enable-thread-safe-client --without-debug
make
make install
2. Use the compiled compressed package! Directly decompress and copy
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
//The following is to start multiple ports
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
The modification content is as follows:
#
[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
The modified content is as follows:
#
[mysqld]
datadir = /data2/ali/mysql3309/
port = 3309
socket = /tmp/mysql-3309.sock
#
Start 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 &
Check whether mysql starts successfully.
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
Connect mysql
mysql -S /tmp/mysql-3108.sock
2. Then install 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
Copy the parameter file to the target directory:
cp php.ini-dist /usr/local/php-fcgi/lib/php.ini
Check fast-cgi If the installation is successful, you can run the following command
/usr/local/php-fcgi/bin/php-cgi -v
The following information will be displayed, including "PHP 5.2.4 (cgi- fcgi)" indicates support for 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
3. Finally install lighttpd
1. Installation configuration lighttpd
1.1 First create the user and group to run lighttpd
# groupadd lighttpd
# useradd -g lighttpd -s /sbin/nologin -d /dev/null lighttpd
1.2 Start installing 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
Remove #”mod_fastcgi”, the #
server.modules = (
"mod_rewrite",
"mod_redirect",
# "mod_alias",
"mod_access",
# "mod_cml",
# "mod_trigger_b4_dl",
# "mod_auth",
# "mod_status",
# "mod_setenv",
"mod_fastcgi",
Find the definition of 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 "
)
)
)
At first I wrote the configuration as "bin-path" => "/usr/local /php-fcgi/bin/php", I found an error, and then I changed the above configuration and found that it was OK!
The command to start lighttpd is as follows:
/usr/local/lighttpd/sbin/lighttpd -f conf/lighttpd.conf
Finally, it can be found in the program directory Download a test.php and check if it is normal!