LAMP_FPM模式方式

網絡拓撲圖

 wKiom1VKoU2hpIvgAAEHKM3e7JE543.jpg

網絡環境

Web服務器

系統/內核/IP: CentOS release 6.6 (Final) uname -r

2.6.32-504.el6.x86_64eth0: 172.16.6.61 ech1 : 192.168.6.61

Apache版本 : Apache/2.4.10

Php應用服務器

    系統/內核/IP: CentOS release 6.6 (Final) uname -r

2.6.32-504.el6.x86_64eth0: 192.168.6.62

Php  : php-5.4.40

xcache版本:xcache-3.2.0

數據庫版本:mariadb-5.5.43-linux-x86_64.tar.gz

數據庫服務器

    系統/內核/IP: CentOSrelease 6.6 (Final) uname -r

2.6.32-504.el6.x86_64eth1: 192.168.6.63

    數據庫版本:mariadb-5.5.43-linux-x86_64.tar.gz

mysql服務器

#添加運行mysql的用戶和用戶組

groupadd -g 306 mysql

useradd -r -u 306 -g 306 -s/sbin/nologin mysql

id mysql

#uid=306(mysql)gid=306(mysql) groups=306(mysql)

安裝mariadb

tar xvfmariadb-5.5.43-linux-x86_64.tar.gz -C /usr/local/

cd  /usr/local/

#創建符號鏈接

ln -smariadb-5.5.43-linux-x86_64 mysql

ls -lh mysql

#lrwxrwxrwx 1 root root 27May  3 19:54 mysql ->mariadb-5.5.43-linux-x86_64

#爲mysql提供服務器控制腳本

cp support-files/mysql.server/etc/init.d/mysqld

chmod u+X /etc/init.d/mysqld

#授權mysql 爲mysql數據目錄的的屬主

chown -R root.mysql/usr/local/mariadb-5.5.43-linux-x86_64/

chown mysql.root /data/mydata

初始化MySQL數據庫

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

#爲mysql提供主配置文件

cd mysql/

cpsupport-files/my-large.cnf  /etc/my.cnf

#修改my.cnf 添加數據目錄的位置

[root@localhost mysql]# vim/etc/my.cnf

....

[mysqld]

datadir = /data/mydata

...

啓動mysql

/etc/init.d/mysqld start

添加mysqld至服務列表

# chkconfig --add mysqld

# chkconfig mysqld on

php應用服務器

安裝php

php應用服務器需要安裝MySQL 安裝方法如 mysql服務器一樣 #也可以使用yum安裝mysql

安裝開發環境

yum groupinstall"Development tools" "Server Platform Development""Desktop Platform Development" "Debug Tools" -y

PHPrpm包的依賴關係

yum install bzip2-devel -y

yum install -ylibmcrypt-devel

安裝php

tar xvf php-5.4.40.tar.bz2

cd php-5.4.40

 ./configure --prefix=/usr/local/php \

--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\

--with-config-file-scan-dir=/etc/php.d\

--with-bz2

 

make && make install

說明:

1、這裏爲了支持apache的worker或event這兩個MPM,編譯時使用了--enable-maintainer-zts選項。

2、如果使用PHP5.3以上版本,爲了鏈接MySQL數據庫,可以指定mysqlnd,這樣在本機就不需要先安裝MySQL或MySQL開發包了。mysqlnd從php5.3開始可用,可以編譯時綁定到它(而不用和具體的MySQL客戶端庫綁定形成依賴),但從PHP 5.4開始它就是默認設置了。

# ./configure--with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd

爲php提供配置文件 #cp 解壓的源代碼樹下的php.ini-production

cp php.ini-production/etc/php.ini

爲php-fpm提供配置文件

cd /usr/local/php/etc/

cp -a php-fpm.conf.defaultphp-fpm.conf

修改php-fpm.conf

...

listen = 192.168.6.62:9000 #監聽在外網地址接受前端httpd服務器的請求

...

爲php-fpm提供服務控制腳本,並將其添加至服務列表

cpsapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm

chmod +x/etc/rc.d/init.d/php-fpm

chkconfig --add php-fpm

chkconfig php-fpm on

啓動php-fpm

/etc/init.d/php-fpm start

驗正php進程是否啓動成功

# ps aux | grep php-fpm #用於查看php進程

# netstat -tnlp | grep php-fpm #用於查看php是否監聽在響應的套接字上

 

 

httpd服務

#安裝apr

tar xvf apr-1.5.0.tar.bz2

cd apr-1.5.0

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

make && make install

cd ..

 

安裝apr-util

tar xvfapr-util-1.5.3.tar.bz2

cd apr-util-1.5.3

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

make && make install

cd ../

安裝httpd-2.4.10

#解決pcre的依賴關係

yum install pcre-devel –y

 

tar xvf httpd-2.4.10.tar.bz2

cd httpd-2.4.10

./configure--prefix=/usr/local/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

make && make install

cd ../

加載代理模塊配置修改httpd.conf

LoadModule proxy_modulemodules/mod_proxy.so

LoadModule proxy_fcgi_modulemodules/mod_proxy_fcgi.so

#配置虛擬主機

修改httpd.conf

/usr/local/httpd24/conf/httpd.conf

# Virtual hosts

Includeconf/extra/httpd-vhosts.conf

 

#配置httpd-vhosts.conf

 

<Directory"/data/web">

        Options none

        AllowOverride none

        Require all granted

</Directory>

 

<VirtualHost *:80>

    [email protected]

    DocumentRoot "/data/web/a.com"

    ServerName www.a.com

    ServerAlias a.com

    ErrorLog "logs/a.com-error_log"

    CustomLog "logs/b.com-access_log"common

    ProxyRequests Off

    ProxyPassMatch ^/(.*\.php)$fcgi://192.168.6.62:9000/data/web/a.com/$1

</VirtualHost>

<VirtualHost *:80>

    [email protected]

    DocumentRoot "/data/web/b.com"

    ServerName www.b.com

    ServerAlias b.com

    ErrorLog "logs/b.com-error_log"

    CustomLog "logs/b.com-access_log"common

    ProxyRequests Off

    ProxyPassMatch ^/(.*\.php)$fcgi://192.168.6.62:9000/data/web/b.com/$1

</VirtualHost>

 

#分別在web服務器 和 php應用服務上創建網站根目錄

mkdir /data/web/{a.com,b.com}

#在mysql服務器創建用戶並授權

MariaDB [(none)]> createdatabase pmdb;

Query OK, 1 row affected(0.00 sec)

 

MariaDB [(none)]> create databasedzdb;

Query OK, 1 row affected(0.00 sec)

MariaDB [(none)]> grantall on pmdb.*  to 'pmuser'@'192.168.662'identified by '123456';

Query OK, 0 rows affected(0.00 sec)

 

MariaDB [(none)]> grantall on dzdb.*  to 'dzuser'@'192.168.6.%'identified by '123456';

Query OK, 0 rows affected(0.00 sec)

 

MariaDB [(none)]> flushprivileges;

Query OK, 0 rows affected(0.00 sec)

在php應用服務器上提供php連接mysql的測試頁

cat >/data/web/a.com/testmysql.php  <<EOP

<?php

      $link =mysql_connect('192.168.6.63','pmuser','123456');

      if ($link)

        echo " pmuser Success...";

      else

        echo "Failure...";

 

      mysql_close();

?>

 <<EOP

 

cat >/data/web/b.com/testmysql.php <<EOP

<?php

      $link =mysql_connect('192.168.6.63','dzuser','123456');

      if ($link)

        echo " dzuser Success...";

      else

        echo "Failure...";

 

      mysql_close();

?>

<<EOP

訪問

安裝xcache

tar xvf xcache-3.2.0.tar.bz2

cd xcache-3.2.0

/usr/local/php/bin/phpize

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

make && make install

#在編譯安裝最後

###

#Installing sharedextensions:    /usr/local/php/lib/php/extensions/no-debug-zts-20100525/

###

提供xcache.ini

mkdir /etc/php.d

cp xcache.ini /etc/php.d/ #在xcache源代碼書目錄下

修改xcache.ini

[[email protected]]# vim /etc/php.d/xcache.ini

修改extension = xcache.so 爲

extension =/usr/local/php/lib/php/extensions/no-debug-zts-20100525/xcache.so

訪問測試

wKioL1VKo0uxFatJAAGQlQNoQio250.jpg

部署 phpmyadmin到www.a.com

wKioL1VKoyDTyOvXAAEtQi6NCaw485.jpg 

部署 discuz到www.b.com

wKiom1VKoZPRp906AAHqwiiInMg548.jpg

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章