1、php的加速器
- rpm方式實(shí)現(xiàn)
首先測(cè)試一下沒(méi)有安裝加速器時(shí)訪問(wèn)博客網(wǎng)站每秒鐘處理的請(qǐng)求數(shù)
ab -c 10 -n 100 http://172.18.21.107/blog/
yum install php-xcache ---安裝加速器的包,來(lái)自epel源
rpm -ql php-xcache
/etc/php.d/xcache.ini ---做為php的一個(gè)配置文件,這個(gè)文件中規(guī)定了這個(gè)模塊 extension = xcache.so
/usr/lib64/php/modules/xcache.so ---可以發(fā)現(xiàn)xcache做為php 的一個(gè)模塊
/usr/share/doc/php-xcache-3.1.1
/usr/share/doc/php-xcache-3.1.1/AUTHORS
/usr/share/doc/php-xcache-3.1.1/COPYING
/usr/share/doc/php-xcache-3.1.1/ChangeLog
/usr/share/doc/php-xcache-3.1.1/README
/usr/share/doc/php-xcache-3.1.1/THANKS
systemctl restart httpd ---安裝之后重啟服務(wù)即可
判讀是否安裝成功,可以在httpd的根目錄下創(chuàng)建一個(gè)測(cè)試的php程序
<?php
phpinfo();
?>
在瀏覽器上訪問(wèn)這個(gè)程序,可以看到php的版本信息,然后按ctrl+f,搜索一下看能否搜到php-xcache,能搜索到說(shuō)明安裝加速器成功。
測(cè)試
ab -c 10 -n 100 http://172.18.21.107/blog/ ---和前面對(duì)比略有提升
- 源碼編譯安裝
在官網(wǎng)上下載xcache-3.2.0.tar
官網(wǎng):http://xcache.lighttpd.net/pub
tar xvf xcache-3.2.0.tar.bz2
cd /app/xcache-3.2.0/
yum groupinstall "develpment tools"
yum install php-devel
phpize ---生成編譯環(huán)境,如果不執(zhí)行這個(gè)命令,將無(wú)法看到configure腳本,phpize是安裝php時(shí)生成的程序
./configure --enable-xcache --with-php-config=/usr/bin/php-config 安裝時(shí)要執(zhí)行php的一個(gè)程序,這個(gè)程序?yàn)?usr/bin/php-config下,所以要指定這個(gè)程序的路徑
make &&make install
cp /app/xcache-3.2.0/xcache.ini /etc/php.d/ ---把xcache做為php的一個(gè)模塊,在xcache.ini文件中有規(guī)定,直接復(fù)制到php的配置文件目錄下就可以了,就像rpm安裝的一樣,規(guī)定這個(gè)模塊 extension = xcache.so
systemctl restart httpd
測(cè)試:ab -c 10 -n 100 http://172.18.21.107/blog/ ----可以發(fā)現(xiàn)安裝新版本的加速器后性能明顯提升。
在安裝或者編譯安裝之前要先看一下當(dāng)前php的版本,在官方網(wǎng)站上可以查到xcache支持的php版本如下圖

QQ截圖20171013150146.png
2、php-fpm
httpd+php結(jié)合的方式:
cgi:module: php,以模塊方式,php做為httpd的模塊
fastcgi: php-fpm,以獨(dú)立的服務(wù)的方式,也會(huì)打開自己獨(dú)立的端口
CentOS 6:
PHP-5.3.2之前:默認(rèn)不支持fpm機(jī)制;需要自行打補(bǔ)丁并編譯安裝
httpd-2.2:默認(rèn)不支持fcgi協(xié)議,需要自行編譯此模塊
解決方案:編譯安裝httpd-2.4, php-5.3.3+
CentOS 7:
httpd-2.4:rpm包默認(rèn)編譯支持了fcgi模塊
php-fpm包:專用于將php運(yùn)行于fpm模式,也就是yum安裝此軟件包即可實(shí)現(xiàn)php-fpm模式
fcgi服務(wù)配置文件:/etc/php-fpm.conf, /etc/php-fpm.d/*.conf
- 用rpm方式在centos7.3上實(shí)現(xiàn)php-fpm模式
yum remove php ---刪除原有的以模塊方式的php,因?yàn)閮烧卟荒芄泊?yum install php-fpm ---安裝獨(dú)立方式運(yùn)行的php軟件包
rpm -ql php-fpm ---查看一下這個(gè)軟件包生成的文件列表
vim /etc/php-fpm.d/www.conf ---修改php-fpm的配置文件
listen = 9000 ---只寫端口號(hào)就表示監(jiān)聽本機(jī)的所有ip,上面有說(shuō)明
;listen.allowed_clients = 127.0.0.1 ---把這一行注釋掉,默認(rèn)是允許任何主機(jī)訪問(wèn),如果httpd服務(wù)和php-fpm在同一臺(tái)主機(jī)就不用改了,一般情況下這兩個(gè)服務(wù)都是在一臺(tái)主機(jī)的,只允許本機(jī)訪問(wèn)就可以了
systemctl start php-fpm ---啟動(dòng)php-fpm服務(wù)
vim /etc/httpd/conf.d/fpm.conf ---編輯httpd的配置文件,使它和php-fpm結(jié)合
DirectoryIndex index.php ---指明httpd服務(wù)主目錄的動(dòng)態(tài)頁(yè)面的文件
ProxyRequests Off ---關(guān)閉代理請(qǐng)求
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/html/$1 --表示匹配以.php結(jié)尾的文件就通過(guò)fcgi也就是php-fpm的本機(jī)的ip的9000端口去處理,處理的目錄是根目錄下的匹配的.php結(jié)尾的文件,$1代替的就是前面匹配的以.php結(jié)尾的文件
systemctl restart httpd
注意:在HTTPD服務(wù)器上必須啟用proxy_fcgi_module模塊,充當(dāng)PHP客戶端,可以通過(guò)如下命令查看模塊是否啟用
httpd –M |grep fcgi ---發(fā)現(xiàn)模塊已經(jīng)啟用
測(cè)試
vim /var/www/html/index.php
<?php
phpinfo();
?>
http://172.18.21.107/ ---發(fā)現(xiàn)是rpm安裝的php-fpm的版本
ab -c 10 -n 100 http://172.18.21.107/blog/
3、fastcgi虛擬主機(jī)配置
vim /etc/httpd/conf.d/vhost.conf
<virtualhost *:80>
servername www.a.com
documentroot /app/website
<directory /app/website>
require all granted
</directory>
directoryIndex index.php
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/app/website/$1
</virtualhost>
mkdir /app/website
vim /app/website/index.php
<?php
$mysqli=new mysqli("172.18.21.107","wpuser","123456ab");
if(mysqli_connect_errno()){
echo "連接數(shù)據(jù)庫(kù)失敗!";
$mysqli=null;
exit;
}
echo "連接數(shù)據(jù)庫(kù)成功!";
$mysqli->close();
phpinfo();
?>
在centos6上測(cè)試,修改/etc/hosts文件,使其能解析www.a.com,在圖形界面下用火狐瀏覽器訪問(wèn)www.a.com,可以發(fā)現(xiàn)連接成功。
4、centos7.3實(shí)現(xiàn)基于源碼編譯安裝LAMP的wordpress應(yīng)用
軟件環(huán)境:
apr-1.6.2.tar.gz httpd-2.4.27.tar.bz2 php-7.1.10.tar.xz
apr-util-1.6.0.tar.gz mariadb-10.2.8-linux-x86_64.tar.gz wordpress-4.8.1-zh_CN.tar.gz
1 源碼編譯安裝Httpd2.4
yum groupinstall "development tools"
yum install openssl-devel expat-devel pcre-devel
tar xvf apr-1.6.2.tar.gz
tar xvf apr-util-1.6.0.tar.gz
tar xvf httpd-2.4.27.tar.bz2
cp -a apr-1.6.2 httpd-2.4.27/srclib/apr
cp -a apr-util-1.6.0 httpd-2.4.27/srclib/apr-util
cd httpd-2.4.27/
./configure --prefix=/app/httpd24 --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-rewrite --with-zlib --with-pcre --with-included-apr --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
make -j 4 && make install
vim /etc/profile.d/lamp.sh
PATH=/app/httpd24/bin/:$PATH
. /etc/profile.d/lamp.sh
apachectl start
ss -tnl
2 二進(jìn)制安裝mariadb
tar xvf mariadb-10.2.8-linux-x86_64.tar.gz -C /usr/local/
cd /usr/local
ln -s mariadb-10.2.8-linux-x86_64/ mysql
useradd -r -m -d /app/mysqldb -s /sbin/nologin mysql
cd mysql/
scripts/mysql_install_db --datadir=/app/mysqldb --user=mysql ---生成mysql的初始數(shù)據(jù)庫(kù)和相應(yīng)的表,比如mysql。
mkdir /etc/mysql
cp support-files/my-large.cnf /etc/mysql/my.cnf ---創(chuàng)建mysql的配置文件
vim /etc/mysql/my.cnf
[mysqld]
datadir = /app/mysqldb
innodb_file_per_table = ON
skip_name_resolve = ON
cp support-files/mysql.server /etc/init.d/mysqld ---創(chuàng)建一個(gè)服務(wù)腳本
chkconfig --add mysqld
chkconfig --list
service mysqld start
mkdir /var/log/mariadb ---創(chuàng)建一個(gè)日志目錄,并修改所有者或者權(quán)限,不然服務(wù)無(wú)法啟動(dòng),會(huì)報(bào)錯(cuò),也就是服務(wù)啟動(dòng)的時(shí)候會(huì)寫日志
chown mysql /var/log/mariadb/
service mysqld start
vim /etc/profile.d/lamp.sh
PATH=/app/httpd24/bin/:/usr/local/mysql/bin/:$PATH
. /etc/profile.d/lamp.sh
mysql_secure_installation
mysql -uroot -pcentos
create datebase wpdb;
grant all on wpdb.* to wpuser@'192.168.25.%' identified by 'centos';
grant all on wpdb.* to wpuser@'127.%' identified by 'centos';
grant all on wpdb.* to wpuser@'localhost' identified by 'centos';
如果數(shù)據(jù)庫(kù)和php在同一臺(tái)主機(jī)要授權(quán)本機(jī)的localhost和127.%,不然本機(jī)都無(wú)法訪問(wèn)后面的wpdb數(shù)據(jù)庫(kù)
3 源碼編譯安裝php
yum install libxml2-devel bzip2-devel libmcrypt-devel
tar xvf php-7.1.10.tar.xz
cd php-7.1.10/
./configure \
--prefix=/app/php \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-openssl \
--with-pdo-mysql=mysqlnd \
--enable-mbstring \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--enable-sockets \
--with-apxs2=/app/httpd24/bin/apxs \ ---指明安裝的php為模塊的運(yùn)行模式
--with-mcrypt \
--with-config-file-path=/etc \ ---指明主配置文件的路徑
--with-config-file-scan-dir=/etc/php.d \ ---指明副配置文件路徑
--enable-maintainer-zts \
--disable-fileinfo
make -j 4 && make install
cp php.ini-production /etc/php.ini ----創(chuàng)建一個(gè)php的配置文件,可以從模板復(fù)制,這個(gè)文件不需要修改什么,如果需要可以修改一下時(shí)區(qū)
vim /etc/httpd24/httpd.conf ---修改httpd的配置文件
在文件尾部加兩行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
修改配置文件中的主目錄的網(wǎng)頁(yè)文件
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
apachectl stop
apachectl start
4 測(cè)試php和mariadb連接
vim /app/httpd24/htdocs/index.php
<html><body><h1> LAMP</h1></body></html>
<?php
$mysqli=new mysqli("localhost","root","centos");
if(mysqli_connect_errno()){
echo "連接數(shù)據(jù)庫(kù)失敗!";
$mysqli=null;
exit;
}
echo "連接數(shù)據(jù)庫(kù)成功!";
$mysqli->close();
phpinfo();
?>
5 配置wordpress
tar xvf wordpress-4.8.1-zh_CN.tar.gz -C /app/httpd24/htdocs ---把wordpress解壓到httpd網(wǎng)站的主目錄下
cd /app/httpd24/htdocs
ln -s wordpress/ blog/
cd /app/httpd24/htdocs/blog/
cp wp-config-sample.php wp-config.php
vim wp-config.php
define('DB_NAME', 'wpdb');
/** MySQL數(shù)據(jù)庫(kù)用戶名 */
define('DB_USER', 'wpuser');
/** MySQL數(shù)據(jù)庫(kù)密碼 */
define('DB_PASSWORD', 'centos');
/** MySQL主機(jī) */
define('DB_HOST', 'localhost');
6 登錄測(cè)試
http://172.18.21.107/blog/
測(cè)試性能
ab -c 10 -n 100 http://172.18.21.107/blog/
5、centos6.9實(shí)現(xiàn)基于源碼編譯安裝LAMP(php模塊方式)的wordpress應(yīng)用
軟件版本:
apr-1.6.2.tar.gz httpd-2.4.27.tar.bz2 php-5.6.31.tar.xz xcache-3.2.0.tar.bz2
apr-util-1.6.0.tar.gz mariadb-5.5.57-linux-x86_64.tar.gz wordpress-4.8.1-zh_CN.tar.gz
1 、編譯httpd2.4
yum groupinstall "development tools"
yum install openssl-devel pcre-devel expat-devel
tar xvf apr-1.6.2.tar.gz
tar xvf apr-util-1.6.0.tar.gz
tar xvf httpd-2.4.27.tar.bz2
cp -r apr-1.6.2 httpd-2.4.27/srclib/apr
cp -r apr-util-1.6.0 httpd-2.4.27/srclib/apr-util
cd httpd-2.4.27/
./configure --prefix=/app/httpd24 --enable-so --enable-ssl --enable-rewrite --with-zlib --with-pcre --with-included-apr --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
make -j 4 && make install
vim /etc/profile.d/lamp.sh
PATH=/app/httpd24/bin/:$PATH
. /etc/profile.d/lamp.sh
cp /etc/init.d/httpd /etc/init.d/httpd24 ---將原電腦上的httpd的服務(wù)腳本復(fù)制一下,注意原h(huán)ttpd服務(wù)不要啟動(dòng)。
vim /etc/init.d/httpd24 ---修改以下五行內(nèi)容
apachectl=/app/httpd24/bin/apachectl
httpd=${HTTPD-/app/httpd24/bin/httpd}
prog=httpd
pidfile=${PIDFILE-/app/httpd24/logs/httpd.pid}
lockfile=${LOCKFILE-/var/lock/subsys/httpd24}
chkconfig --add httpd24
chkconfig --list httpd24
service httpd24 start
2、 二進(jìn)制安裝mariadb
tar xvf mariadb-5.5.57-linux-x86_64.tar.gz -C /usr/local/
cd /usr/local/
ln -s mariadb-5.5.57-linux-x86_64/ mysql
useradd -r -m -d /app/mysqldb -s /sbin/nologin mysql
cd mysql/
scripts/mysql_install_db --datadir=/app/mysqldb --user=mysql ---生成初始的數(shù)據(jù)庫(kù)和響應(yīng)的表
mkdir /etc/mysql
cp support-files/my-large.cnf /etc/mysql/my.cnf ---創(chuàng)建數(shù)據(jù)庫(kù)的配置文件
vim /etc/mysql/my.cnf ---修改數(shù)據(jù)庫(kù)配置文件
[mysqld]
datadir = /app/mysqldb
innodb_file_per_table = ON
skip_name_resolve = ON
cp support-files/mysql.server /etc/init.d/mysqld ----創(chuàng)建數(shù)據(jù)庫(kù)服務(wù)腳本
chkconfig --add mysqld
chkconfig --list
service mysqld start
touch /var/log/mysqld.log ---創(chuàng)建日志文件并授權(quán),不然服務(wù)無(wú)法啟動(dòng)
chown mysql /var/log/mysqld.log
service mysqld start
vim /etc/profile.d/lamp.sh
PATH=/app/httpd24/bin/:/usr/local/mysql/bin/:$PATH
. /etc/profile.d/lamp.sh
mysql_secure_installation
mysql -uroot -pcentos
create datebase wpdb;
grant all on wpdb.* to wpuser@'192.168.25.%' identified by 'centos';
grant all on wpdb.* to wpuser@'127.%' identified by 'centos';
grant all on wpdb.* to wpuser@'localhost' identified by 'centos';
3、 源碼編譯php
yum install libxml2-devel bzip2-devel libmcrypt-devel
tar xvf php-5.6.31.tar.xz
cd php-5.6.31
./configure --prefix=/app/php \
--with-mysql=/usr/local/mysql \
--with-openssl \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--enable-mbstring \
--with-png-dir \
--with-jpeg-dir \
--with-freetype-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--enable-sockets \
--with-apxs2=/app/httpd24/bin/apxs \
--with-mcrypt \
--with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d \
--with-bz2
make -j 4 && make install
vim /etc/profile.d/lamp.sh
PATH=/app/php/bin:/app/httpd24/bin/:/usr/local/mysql/bin/:$PATH
. /etc/profile.d/lamp.sh
cp /app/php-5.6.31/php.ini-production /etc/php.ini ---創(chuàng)建一個(gè)php的配置文件,可以修改一下時(shí)區(qū)
vim /app/httpd24/conf/httpd.conf ---要想讓httpd和php連接,需要在httpd的配置文件中增加和修改內(nèi)容,在文件尾部加兩行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
修改下面行
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
service httpd24 restart
4 、測(cè)試php是否可以連接數(shù)據(jù)庫(kù)
vim /app/httpd24/htdocs/index.php
<html><body><h1>It works!</h1></body></html>
<?php
$mysqli=new mysqli("localhost","root","centos");
if(mysqli_connect_errno()){
echo "連接數(shù)據(jù)庫(kù)失敗!";
$mysqli=null;
exit;
}
echo "連接數(shù)據(jù)庫(kù)成功!";
$mysqli->close();
phpinfo();
?>
5、 配置wordpress
tar xvf wordpress-4.8.1-zh_CN.tar.gz -C /app/httpd24/htdocs
cd /app/httpd24/htdocs
ln-s wordpress/ blog/
cd /app/httpd24/htdocs/blog/
cp wp-config-sample.php wp-config.php
vim wp-config.php
define('DB_NAME', 'wpdb');
/** MySQL數(shù)據(jù)庫(kù)用戶名 */
define('DB_USER', 'wpuser');
/** MySQL數(shù)據(jù)庫(kù)密碼 */
define('DB_PASSWORD', 'centos');
/** MySQL主機(jī) */
define('DB_HOST', 'localhost');
6 、登錄測(cè)試
http://websrv/blog
測(cè)試性能
ab -c 10 -n 100 http://websrv/blog/
7、 編譯xcache 實(shí)現(xiàn)Php加速
tar xvf xcache-3.2.0.tar.bz2
cd xcache-3.2.0
phpize
./configure --enable-xcache --with-php-config=/app/php/bin/php-config ---安裝加速器時(shí)要執(zhí)行php-config這個(gè)程序,這個(gè)程序在編譯安裝php的時(shí)候生成的,在/app/php/bin/目錄下
make && make install
mkdir /etc/php.d/
cp xcache.ini /etc/php.d/
vim /etc/php.d/xcache.ini ---xcache做為php的一個(gè)模塊,在php的配置文件中要規(guī)定模塊的路徑
extension = /app/php/lib/php/extensions/no-debug-non-zts-20131226/xcache.so
service httpd24 restart
8 、測(cè)試
ab -c 10 -n 100 http://websrv/blog/
6、centos6.9實(shí)現(xiàn)基于源碼編譯安裝LAMP(PHP-FPM方式)的wordpress應(yīng)用
軟件版本:
apr-1.6.2.tar.gz httpd-2.4.27.tar.bz2 php-5.6.31.tar.xz xcache-3.2.0.tar.bz2
apr-util-1.6.0.tar.gz mariadb-5.5.57-linux-x86_64.tar.gz wordpress-4.8.1-zh_CN.tar.gz
1、 編譯httpd2.4
yum groupinstall "development tools"
yum install openssl-devel pcre-devel expat-devel
tar xvf apr-1.6.2.tar.gz
tar xvf apr-util-1.6.0.tar.gz
tar xvf httpd-2.4.27.tar.bz2
cp -a apr-1.6.2 httpd-2.4.27/srclib/apr
cp -a apr-util-1.6.0 httpd-2.4.27/srclib/apr-util
cd httpd-2.4.27/
./configure --prefix=/app/httpd24 --enable-so --enable-ssl --enable-rewrite --with-zlib --with-pcre --with-included-apr --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
make -j 4 && make install
vim /etc/profile.d/lamp.sh
PATH=/app/httpd24/bin/:$PATH
. /etc/profile.d/lamp.sh
cp /etc/init.d/httpd /etc/init.d/httpd24
vim /etc/init.d/httpd24
apachectl=/app/httpd24/bin/apachectl
httpd=${HTTPD-/app/httpd24/bin/httpd}
prog=httpd
pidfile=${PIDFILE-/app/httpd24/logs/httpd.pid}
lockfile=${LOCKFILE-/var/lock/subsys/httpd24}
chkconfig --add httpd24
chkconfig --list httpd24
service httpd24 start
2 、二進(jìn)制安裝mariadb
tar xvf mariadb-5.5.57-linux-x86_64.tar.gz -C /usr/local/
cd /usr/local/
ln -s mariadb-5.5.57-linux-x86_64/ mysql
useradd -r -m -d /app/mysqldb -s /sbin/nologin mysql
cd mysql/
scripts/mysql_install_db --datadir=/app/mysqldb --user=mysql
mkdir /etc/mysql
cp support-files/my-large.cnf /etc/mysql/my.cnf
vim /etc/mysql/my.cnf
[mysqld]
datadir = /app/mysqldb
innodb_file_per_table = ON
skip_name_resolve = ON
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --list
service mysqld start
touch /var/log/mysqld.log
chown mysql /var/log/mysqld.log
service mysqld start
vi /etc/profile.d/lamp.sh
PATH=/app/httpd24/bin/:/usr/local/mysql/bin/:$PATH
. /etc/profile.d/lamp.sh
mysql_secure_installation
mysql -uroot -pcentos
create datebase wpdb;
grant all on wpdb.* to wpuser@'192.168.25.%' identified by 'centos';
grant all on wpdb.* to wpuser@'127.%' identified by 'centos';
grant all on wpdb.* to wpuser@'localhost' identified by 'centos';
3、 源碼編譯php
yum install libxml2-devel bzip2-devel libmcrypt-devel
tar xvf php-5.6.31.tar.xz
cd php-5.6.31
./configure \
--prefix=/app/php5 \
--with-mysql=/usr/local/mysql \
--with-openssl \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--enable-mbstring \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--enable-sockets \
--enable-fpm \ ---指定是fpm模式安裝php
--with-mcrypt \
--with-config-file-path=/etc/php5 \
--with-config-file-scan-dir=/etc/php5.d \
--with-bz2
make -j 4 && make install
vi /etc/profile.d/lamp.sh
PATH=/app/php5/bin:/app/httpd24/bin/:/usr/local/mysql/bin/:$PATH
. /etc/profile.d/lamp.sh
mkdir /etc/php5/
cp /app/php-5.6.31/php.ini-production /etc/php5/php.ini ---創(chuàng)建php的配置文件,規(guī)定時(shí)區(qū)
cp /app/php-5.6.31/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm ---創(chuàng)建php-fpm的服務(wù)腳本
chmod +x /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig --list php-fpm
service php-fpm start
cd /app/php5/etc
cp php-fpm.conf.default php-fpm.conf ---創(chuàng)建php-fpm的配置文件,里面規(guī)定了端口號(hào)等
vim app/httpd24/conf/httpd.conf
取消兩行的注釋
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
在文件尾部加四行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
ProxyRequests Off 關(guān)閉代理
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/app/httpd24/htdocs/$1
修改下面行
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
service httpd24 restart
4 測(cè)試
vim /app/httpd24/htdocs/index.php
<html><body><h1>It works!</h1></body></html>
<?php
$mysqli=new mysqli("localhost","root","centos");
if(mysqli_connect_errno()){
echo "連接數(shù)據(jù)庫(kù)失敗!";
$mysqli=null;
exit;
}
echo "連接數(shù)據(jù)庫(kù)成功!";
$mysqli->close();
phpinfo();
?>
5 、配置wordpress
tar xvf wordpress-4.8.1-zh_CN.tar.gz -C /app/httpd24/htdocs
cd /app/httpd24/htdocs
mv wordpress/ blog/
cd /app/httpd24/htdocs/blog/
cp wp-config-sample.php wp-config.php
vim wp-config.php
define('DB_NAME', 'wpdb');
/** MySQL數(shù)據(jù)庫(kù)用戶名 */
define('DB_USER', 'wpuser');
/** MySQL數(shù)據(jù)庫(kù)密碼 */
define('DB_PASSWORD', 'centos');
/** MySQL主機(jī) */
define('DB_HOST', 'localhost');
6 、登錄測(cè)試
http://websrv/blog
測(cè)試性能
ab -c 10 -n 100 http://websrv/blog/
7 、編譯xcache 實(shí)現(xiàn)Php加速
tar xvf xcache-3.2.0.tar.bz2
cd xcache-3.2.0
phpize
./configure --enable-xcache --with-php-config=/app/php5/bin/php-config
make && make install
mkdir /etc/php5.d/
cp /app/xcache-3.2.0/xcache.ini /etc/php5.d/ ---創(chuàng)建php對(duì)于xcache的配置文件
vim /etc/php5.d/xcache.ini ---xcache做為php的一個(gè)模塊,在php的配置文件中規(guī)定了模塊的路徑
extension = /app/php5/lib/php/extensions/no-debug-non-zts-20131226/xcache.so
service php-fpm restart
8 、測(cè)試
ab -c 10 -n 100 http://websrv/blog/
總結(jié):4、5、6方法編譯安裝時(shí)都需要將php和數(shù)據(jù)庫(kù)放到同一臺(tái)主機(jī),不然無(wú)法連接到數(shù)據(jù),因?yàn)闆](méi)有安裝php-mysql軟件包,即使安裝了也不配套,源碼編譯安裝php的時(shí)候都安裝好了php-mysql,就不需要安裝php-mysql了。