標籤: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