系统: Centos6

httpd版本: 2.4 使用event工作模式

php版本: 5.4.26

mariadb版本: 5.5.46

xcache版本: 3.0.3

 

httpd:     192.168.1.101

mariadb:  192.168.1.102

php:      192.168.1.103

 

安装顺序: php最后安装

 

注意事项:

1.在httpd2.2上使用fcgi功能,需要额外打补丁

 

一、安装httpd2.4:

在192.168.1.101上操作

 

1.    准备源码包

Centos6部署lamp: httpd2.4+fpm模式_部署

 

2.    安装所需环境

yum groupinstall -y"Development tools" "Server Platform Development"

yum install -y pcre-devel

 

3.    安装apr

   安装apr

tar -xjvf apr-1.5.0.tar.bz2

cd apr-1.5.0

./configure --prefix=/usr/local/apr

make & make install

 

   安装apr-util

tar -xjvfapr-util-1.5.3.tar.bz2

cd apr-util-1.5.3

./configure--prefix=/usr/local/apr-util --with-apr=/usr/local/apr

//指定apr安装路径

make && make install

 

4.    安装httpd2.4

Centos6部署lamp: httpd2.4+fpm模式_Centos_02

tar -xjvf httpd-2.4.9.tar.bz2

cd httpd-2.4.9

 

./configure --prefix=/usr/local/apache--sysconf=/etc/httpd24--enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util/--enable-modules=most--enable-mpms-shared=all --with-mpm=event

//指定apr路径,启用大多数模块(可根据需要选择),使httpd默认使用event工作模式

 

make && make install

 

5.    后续工作

vim/etc/profile.d/http24.sh      //添加环境变量

Centos6部署lamp: httpd2.4+fpm模式_Centos_03

. /etc/profile.d/http24.sh         //加载环境变量

 

ln -s/usr/local/apache/include/ /usr/include/httpd24        //链接头文件

 

echo "MANPATH/usr/local/apache/man/" >> /etc/man.config    //添加man文档路径

 

cp /etc/rc.d/init.d/httpd/etc/rc.d/init.d/httpd24      

vim /etc/rc.d/init.d/httpd24           //配置服务脚本

Centos6部署lamp: httpd2.4+fpm模式_部署_04

 

vim/etc/httpd24/httpd.conf          //修改httpd的pid路径

Centos6部署lamp: httpd2.4+fpm模式_Centos_05

chkconfig--add httpd24

chkconfig--level 35 httpd24 on          //配置开机启动

Centos6部署lamp: httpd2.4+fpm模式_lamp_06

servicehttpd24 start             //启动httpd

 

 

二、安装mariadb:

在192.168.1.102上操作

1.    准备源码包

Centos6部署lamp: httpd2.4+fpm模式_部署_07

 

2.    准备mysql组和用户

groupadd -r -g 306 mysql

useradd -r -g mysql -u 306 mysql

 

3.    部署mariadb

tar-xzvf mariadb-5.5.46-linux-x86_64.tar.gz -C /usr/local/

ln -s/usr/local/mariadb-5.5.46-linux-x86_64/ /usr/local/mysql   

//便于以后升级版本用

Centos6部署lamp: httpd2.4+fpm模式_Centos_08

chown -R root:mysql/usr/local/mysql/*        //修改权限

Centos6部署lamp: httpd2.4+fpm模式_Centos_09

 

4.    初始化数据库

mkdir-p /mydata/data

chown mysql:mysql/mydata/data/         //准备数据库存放目录

 

/usr/local/mysql/scripts/mysql_install_db--user=mysql --basedir=/usr/local/mysql--datadir=/mydata/data/

//指定mariadb目录和数据库存放目录

 

5.    准备配置文件

mkdir/etc/mysql

cp/usr/local/mysql/support-files/my-large.cnf /etc/mysql/my.cnf

//复制模板,可根据需求选择

vim /etc/mysql/my.cnf

Centos6部署lamp: httpd2.4+fpm模式_lamp_10

 

6.    后续工作

vim  /etc/profile.d/mysqld.sh         //添加环境变量

Centos6部署lamp: httpd2.4+fpm模式_部署_11

. /etc/profile.d/mysqld.sh           //加载环境变量

 

echo '/usr/local/mysql/lib/' >/etc/ld.so.conf.d/mysqld.conf     //添加库路径

ldconfig                  //加载库路径

 

ln -s /usr/local/mysql/include/mysql/ /usr/include/mysqld

 

echo 'MANPATH /usr/local/mysql/man/' >>/etc/man.config    //添加man文档路径

 

cp /usr/local/mysql/support-files/mysql.server/etc/rc.d/init.d/mysqld  //复制服务脚本

chkconfig --add mysqld

chkconfig mysqld on         //设置开机启动

Centos6部署lamp: httpd2.4+fpm模式_Centos_12

service mysqld start          //启动服务

 

7.    安全初始化

/usr/local/mysql/bin/mysql_secure_installation

 

Centos6部署lamp: httpd2.4+fpm模式_Centos_13

 

Centos6部署lamp: httpd2.4+fpm模式_部署_14

 

Centos6部署lamp: httpd2.4+fpm模式_lamp_15

 

Centos6部署lamp: httpd2.4+fpm模式_部署_16

 

 

三、安装PHP:

在192.168.1.103上操作

1.    准备源码包

Centos6部署lamp: httpd2.4+fpm模式_lamp_17

 

2.    安装所需环境

yumgroupinstall -y "Development tools" "Server PlatformDevelopment"

yum install -y bzip2-devel libmcrypt-devel libxml2-devel

 

3.    准备mysql库

tar-xzvf mariadb-5.5.46-linux-x86_64.tar.gz -C /usr/local/

mv /usr/local/mariadb-5.5.46-linux-x86_64//usr/local/mysql

Centos6部署lamp: httpd2.4+fpm模式_Centos_18

注:

可以使用yum install -y php-mysql来安装所需mysql库,编译安装php时,不要指定mysql的具体路径即可 



4.    安装PHP

tar -xjvf php-5.4.26.tar.bz2

cd php-5.4.26

 

./configure--prefix=/usr/local/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 --with-mcrypt  --with-config-file-path=/etc/php--with-config-file-scan-dir=/etc/php/php.d--with-bz2

//启用fpm(即fcgi)

 

make -j 4 && makeinstall    //使用4线程编译,能提高速度

 

5.    配置php

mkdir -p /etc/php/php.d      //准备目录存放配置文件

cpphp-5.4.26/php.ini-production /etc/php/php.ini     //复制源码包中的配置文件

 

cp/usr/local/php5/etc/{php-fpm.conf.default,php-fpm.conf} 

//复制php-fpm配置文件

vim/usr/local/php5/etc/php-fpm.conf

Centos6部署lamp: httpd2.4+fpm模式_lamp_19

 

Centos6部署lamp: httpd2.4+fpm模式_部署_20

 

Centos6部署lamp: httpd2.4+fpm模式_Centos_21

 

6.    后续工作

vim /etc/profile.d/php5.sh      //添加PATH路径

Centos6部署lamp: httpd2.4+fpm模式_部署_22

. /etc/profile.d/php5.sh        //加载环境变量

 

 

cpphp-5.4.26/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm  //复制服务脚本

vim /etc/rc.d/init.d/php-fpm   //修改pid路径

Centos6部署lamp: httpd2.4+fpm模式_Centos_23

chmod +x/etc/rc.d/init.d/php-fpm           //添加执行权限

chkconfig --add php-fpm

chkconfig php-fpm on               //配置开机启动

Centos6部署lamp: httpd2.4+fpm模式_部署_24

 

service php-fpm start         //启动服务

Centos6部署lamp: httpd2.4+fpm模式_Centos_25

 

Centos6部署lamp: httpd2.4+fpm模式_Centos_26

 

 

四、配置httpd:

在192.168.1.200上操作

cp/etc/httpd24/httpd.conf{,.bak}     //先备份

vim /etc/httpd24/httpd.conf

Centos6部署lamp: httpd2.4+fpm模式_Centos_27

 

Centos6部署lamp: httpd2.4+fpm模式_部署_28

 

Centos6部署lamp: httpd2.4+fpm模式_部署_29

httpd -t      //检查httpd配置

service httpd24 reload       //重载配置

 

 

六、 添加虚拟主机:

1.添加虚拟主机

vim /etc/httpd24/httpd.conf

Centos6部署lamp: httpd2.4+fpm模式_部署_30

 

vim/etc/httpd24/extra/httpd-vhosts.conf

Centos6部署lamp: httpd2.4+fpm模式_lamp_31

 

vim/etc/httpd24/extra/test.conf

Centos6部署lamp: httpd2.4+fpm模式_Centos_32

 

2. 准备测试页面(httpd服务器和php服务器都需要创建)

mkdir -p /mydata/www/

vim /mydata/www/index.php

Centos6部署lamp: httpd2.4+fpm模式_lamp_33

 

3.测试

Centos6部署lamp: httpd2.4+fpm模式_Centos_34

 

 

七、 整合xcache:

在php服务器上操作

  1. 1.    准备源码包

Centos6部署lamp: httpd2.4+fpm模式_lamp_35

 

2.    安装

tar -xjvf xcache-3.0.3.tar.bz2

 

cd xcache-3.0.3

/usr/local/php/bin/phpize        //生成configure

Centos6部署lamp: httpd2.4+fpm模式_Centos_36

 

./configure --enable-xcache --with-php-config=/usr/local/php5/bin/php-config

//指定php安装路径

make && make install

Centos6部署lamp: httpd2.4+fpm模式_Centos_37

 

3.    整合xcache

cp xcache-3.0.3/xcache.ini /etc/php/php.d     //复制xcache配置文件

Centos6部署lamp: httpd2.4+fpm模式_Centos_38

 

 

Centos6部署lamp: httpd2.4+fpm模式_lamp_39

service php-fpm reload    //重载配置

 

Centos6部署lamp: httpd2.4+fpm模式_lamp_40

 

 

测试连接mariadb

mysql -uroot -p12345         //mariadb服务器上操作,登录数据库创建用户

CREATE USER 'root'@'%'IDENTIFIED BY '12345';       //创建远程访问权限

FLUSH PRIVILEGES;                  //刷新权限表

 

vim /mydata/www/db.php         //在php服务器上准备测试页面

Centos6部署lamp: httpd2.4+fpm模式_lamp_41

 

Centos6部署lamp: httpd2.4+fpm模式_Centos_42

 

 

注:

1.经测试,httpd服务器上可以没有具体的网页文件,但必须要有相应的网站目录,否则会被forbidden

2.编译安装httpd2.4貌似不支持使用Include *.conf的方式来分割配置文件