CentOS 7下分離於三台主機搭建基於FCGI的LAMP

來源:互聯網
上載者:User

標籤:centos7   分離lamp   fcgi   


一、要求

 CentOS 7, lamp (php-fpm);
(1) 三者分離於三台主機;
(2) 一個虛擬機器主機用於提供phpMyAdmin;另一個虛擬機器主機用於提供wordpress;
(3) xcache


規劃

第一台 192.168.1.112 httpd-2.4.6-40.el7.centos.x86_64 httpd伺服器
第二台 192.168.1.113 php-fpm-5.4.16-36.el7_1.x86_64 php-fpm伺服器
第三台 192.168.1.114 mariadb-5.5.47-1.el7_2.x86_64

mariadb伺服器

全部關閉selinux,iptables


實踐

基於FCGI模式安裝包組

 1.CentOS 6系列

          PHP-5.3.2及以前版本:預設不支援fpm機制;需要自行打補丁並編譯安裝;

   httpd-2.2:預設不支援fcgi協議,需要自行編譯fcgi模組;

            解決方案:編譯安裝httpd-2.4, php-5.3.3及以上版本;

 2.CentOS 7系列

     192.168.1.112:[[email protected] ~]# yum install -y httpd

    192.168.1.113:[[email protected] ~]# yum install -y php-fpm php-mysql

    192.168.1.114:[[email protected] ~]# yum install -y mariadb-server


3.配置修改

    3.1 httpd伺服器

    3.1.1開啟瀏覽器192.168.1.112可以看到apache測試頁面

    

    3.1.2配置修改

      設定檔/etc/httpd/conf/httpd.conf    /etc/httpd/conf.d/*.conf

      這裡在httpd.conf或在conf.d下建立一個.conf結尾的設定檔均可。

      vim /etc/httpd/conf.d/fcgi.conf

DirectoryIndex index.php #首頁為index.phpProxyRequests Off #關閉正向解析ProxyPassMatch ^/(.*\.php)$  fcgi://192.168.1.113:9000/var/www/html/$1  #以.php結尾的都轉寄至php-fpm伺服器下的/var/php下

        /var/www/html可以自己定義,前提是在php-fpm伺服器上要建立相應的目錄           


    3.2 php-fpm伺服器與httpd伺服器串連

           3.2.1設定檔 /etc/php-fpm.d/www.conf

  listen = 192.168.1.113:9000 #監聽的原生地址和連接埠  listen.allowed_clients = 192.168.1.112 #允許httpd伺服器轉寄過來

        此時就將httpd和php-fpm伺服器建立串連了

     3.2.2測試一下

      在php-fpm伺服器的/var/www/html目錄下建立一個index.php內容如下 

<?php       phpinfo();    ?>

        此時再進入192.168.1.112即可看到php-fpm的詳細資料

650) this.width=650;" src="http://s2.51cto.com/wyfs02/M01/7F/3B/wKiom1cXMcCjmHCkAADf5c4GG00251.png" title="phpfpm.png" alt="wKiom1cXMcCjmHCkAADf5c4GG00251.png" />


    3.3將mariadb與php-fpm串連

    3.3.1配置mariadb伺服器

     在mariadb伺服器上為php-fpm伺服器添加一個可以訪問的使用者

 MariaDB>grant all on *.* to [email protected]‘192.168.%.%‘ identified by ‘test‘;  MariaDB> flush privileges;

        編輯/etc/my.cnf

    在 [mysqld]下方添加

 skip_name_resolve = ON

        3.3.2配置php-fpm伺服器

    安裝php-mysql驅動

yum install php-mysql -y

        測試一下php-fpm伺服器和mariadb伺服器

    編輯php-fpm伺服器下的/var/php/index.php

 <?php    $con = mysql_connect(‘192.168.1.114‘,‘test‘,‘test‘);    if ($con)        echo "OK";    else        echo "failed";        phpinfo();      ?>

再次開啟192.168.1.112網址可以看到

650) this.width=650;" src="http://s4.51cto.com/wyfs02/M00/7F/3B/wKiom1cXNe-jZB1dAAD_5ceYqz4219.png" title="phpfpm.png" alt="wKiom1cXNe-jZB1dAAD_5ceYqz4219.png" />

至此,已經串連完畢。


接下來搭建wordpress、phpmyadmin和xcache


規劃

第一台192.168.1.112 httpd伺服器 wordpress
第二台192.168.1.113 php-fpm伺服器 xcache
第三台192.168.1.114 mariadb伺服器 phpMyAdmin

 1、安裝xcache(在epel源中)

[[email protected] html]# yum install -y php-xcache[[email protected] html]# systemctl reload php-fpm

 

  2、安裝phpMyAdmin(在php-fpm伺服器中)

      為https://www.phpmyadmin.net/downloads/

       下載好後解壓

[[email protected] html]# unzip phpMyAdmin-4.0.5-all-languages.zip -d pma[[email protected] html]#  yum install php-mbstring #安裝中文支援

    配置

[[email protected] html]# cd pma[[email protected] pma]# cp config.sample.inc.php config.inc.php    $cfg[‘blowfish_secret‘] = ‘a8b7c6d‘;    $cfg[‘Servers‘][$i][‘host‘] = ‘192.168.1.106‘

    3、安裝wordpress

        為https://cn.wordpress.org/

本文出自 “濤聲依舊” 部落格,請務必保留此出處http://zhaoyongtao.blog.51cto.com/10955972/1765813

CentOS 7下分離於三台主機搭建基於FCGI的LAMP

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.