一、部署計劃
注意:httpd2.4以下版本不支持php-fpm模式
服務器A:centos6 IP:172.17.16.169
mysql數據庫服務
服務器B:centos7 IP:172.17.16.173
php服務
服務器C:centos7 IP:172.17.17.173
http服務器
二、安裝相應軟件包啓動服務
1.服務器C
yum -y install httpd
service httpd start
2.服務器B
yum install php-fpm php-mysql
systemctl start php-fpm
3.服務器A
yum -y install mysql-server
service mysqld start
#安全腳本
mysql_secure_installation
三、修改相應配置
1.服務器A
grant all on 數據庫名.表名 to '用戶名'@'%' identified by "密碼"
grant all on php.* to 'php'@'%' identified by "php_password"
FLUSH PRIVILEGES;
2.服務器B
cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.conf.bak
vim /etc/php-fpm.d/www.conf
#修改監聽端口
修改
listen = 127.0.0.1:9000 改爲 listen = 9000
或改爲 listen = 特定IP:9000
#可以用逗號隔開使用多個地址
#修改允許誰可以訪問
修改
listen.allowed_clients = 127.0.0.1
改爲listen.allowed_clients = 172.17.16.169
#172.17.16.169爲httpd服務地址
可以用逗號隔開使用多個地址
#開啓的進程控制
pm = dynamic
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
3.服務器C
注意:
ProxyPassMatch ^/(.*\.php)$ fcgi://172.17.16.173:9000/var/www/html/$1
是一行,
表示在本機找不到URL或者URL是.php結尾的文件,
將其轉發到172.17.16.173:9000/var/www/html/$1 運行
#修改配置文件支持php-fpm
vim php_fpm.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
DirectoryIndex index.php
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$
fcgi://172.17.16.173:9000/var/www/html/$1
四、php程序驗證LAMP
注意:
因爲fcgi的代理功能
所以php程序放在php服務器上
在php服務器上
vim /var/www/html/mysql.php
<?php
$mysqli=new mysqli("172.17.16.169","root","centos");
if(mysqli_connect_errno()){
echo "連接數據庫失敗!";
$mysqli=null;
exit;
}
echo "連接數據庫成功!只能連接mysql";
$mysqli->close();
?>