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 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 package or use the compiled one! You can also directly decompress and copy it. I used a direct copy and compiled version!
1. Compile the source code 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
Modify the contents 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 to 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
To check whether fast-cgi is installed successfully, you can run the following command
/usr/local/php-fcgi/bin/php-cgi -v
to display the following information. The content containing "PHP 5.2.4 (cgi-fcgi)" indicates that fast-cgi is supported.
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. Install and configure 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
"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" and found an error. Later, 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, you can create a test.php in the program directory to check whether it is normal!