三台主机分别部署LAMP
三台主机分别部署LAMP
要求:httpd, php, mariadb分别部署在一个单独的主机上,一个虚拟主机提供phpMyAdmin,另一个虚拟主机提供wordpress,为phpMyAdmim提供https服务;
一. 分工三台主机
A httpd主机 172.16.35.1
B php-fpm主机 172.16.35.2
C mariadb主机 172.16.35.3
为方便实验在这里关闭防火墙
#iptables-F
#setenforce0
安装所需rpm包:
在A上yum -y install httpd,B主机yum -y install php-fpm, C上yum -y install mariade-server php-mysql
二. httpd主机设置
1.设置vhost1.conf和vhost2.conf
[root@zq~]# vim /etc/httpd/conf.d/vhost1.conf
<VirtualHost172.16.35.1:80>
ServerNamewww1.test.com
DocumentRoot"/data/vhost/www1"
ProxyRequestson
DirectoryIndexindex.php
ProxyPassMatch^/(.*\.php)$ fcgi://172.16.35.2:9000/data/vhost/www1/$1 动态资源代理转发给第2台主机
<Directory"/data/vhost/www1">
OptionsNone
AllowOverrideNone
Requireall granted
</Directory>
</VirtualHost>
[root@zq~]# vim /etc/httpd/conf.d/vhost2.conf
<VirtualHost172.16.35.1:80>
ServerNamewww2.test.com
DocumentRoot"/data/vhost/www2"
ProxyRequestson
DirectoryIndexindex.php
ProxyPassMatch^/(.*\.php)$ fcgi://172.16.35.2:9000/data/vhost/www2/$1 动态资源代理转发给第2台主机
<Directory"/data/vhost/www2">
OptionsNone
AllowOverrideNone
Requireall granted
</Directory>
</VirtualHost>
2.修改配置文件指定NDS以及域名解析
[root@zq~]# vim /etc/resolv.conf
#Generated by NetworkManager
DNS=172.16.35.1
nameserver172.16.0.1
#本地域名解析
[root@zq ~]#vim /etc/hosts
127.0.0.1localhost localhost.localdomain localhost4 localhost4.localdomain4
::1localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.35.1www1.test.com www2.test.com
3.创建静态默认文件:
[root@zq~]# mkdir -p /data/vhost/www{1,2}
[root@zq~]# vim /data/vhost/www1/index.html
<h1>zq1第1台物理机静态数据 172.16.35.1</h1>
[root@zq~]# vim /data/vhost/www2/index.html
<h1>zq2第1台物理机静态数据 172.16.35.1</h1>
4.然后测试本机静态数据是否可以正常访问
================================================================
三.php-fpm主机:
1.修改配置文件
[root@zq~]# vim /etc/php-fpm.d/www.conf
listen = 172.16.35.2:9000监听本机地址端口
listen.allowed_clients= 172.16.35.1 允许A主机连接
2.创建资源映射目录及文件
mkdir -pv/data/vhost/www{1,2}
[root@zq~]# vim /data/vhost/www1/index.php
<h1>第2台物理机a</h1>
<?php
$conn =mysql_connect('172.16.35.3','testuser','testpass');
if($conn)
echo"OK";
else
echo"Failure";
phpinfo();
?>
[root@zq~]# vim /data/vhost/www2/index.php
<h1>第2台物理机b</h1>
<?php
$conn =mysql_connect('172.16.35.3','testuser','testpass');
if($conn)
echo"OK";
else
echo"Failure";
phpinfo();
?>
3.安装加速器php-xcache
yum -yinstall php-xcache
解压wordpress以及php-myadmin分别在www1和www2中
4.修改wordpress的配置文件
[root@zq~]# cd /data/vhost/www1/wordpress/
[root@zq wordpress]# ln -s wp-config-sample.phpwp-config.php
[root@zq wordpress]# vim wp-config.php
// **MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/**WordPress数据库的名称 */
define('DB_NAME','qqdb');
/** MySQL数据库用户名 */
define('DB_USER','qquser');
/** MySQL数据库密码 */
define('DB_PASSWORD',qqpass');
/** MySQL主机 */
define('DB_HOST','172.16.35.3'); 这里的地址是指向第C主机的数据库地址
/** 创建数据表时默认的文字编码 */
define('DB_CHARSET','utf8');
/** 数据库整理类型。如不确定请勿更改 */
define('DB_COLLATE','');
5.修改phpMyAdmin的配置文件
[root@zqt ~]# ln -s /data/vhost/www2/phpMyAdmin-4.4.14.1-all-languages/data/vhost/www2/myadmin
[root@zq ~]# ln -s /data/vhost/www2/myadmin/config.sample.inc.php/data/vhost/www2/myadmin/config.inc.php
[root@zq ~]# vim /data/vhost/www2/myadmin/config.inc.php
$cfg['blowfish_secret']= '4pfPnDAJFPA4WMWaQxD'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
随机码用!r opensslrand -base64 15 生成用于通信加密
/*
* Serversconfiguration
*/
$i = 0;
/*
* Firstserver
*/
$i++;
/*Authentication type */
$cfg['Servers'][$i]['auth_type']= 'cookie';
/* Serverparameters */
$cfg['Servers'][$i]['host']= '172.16.35.3'; $cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress']= false;
$cfg['Servers'][$i]['AllowNoPassword']= false;
四.mariadb主机
1.启动被查看数据库且设定其为开机启动
systemctlstart mariadb.service
systemctlstatus mariadb.service
systemctlenabled mariadb.service
2.授权创建用户
[root@zq ~]#mysql
mysql>GRANT ALL ON qqdb.* TO 'qquser'@'172.16.%.%' IDENTIFIED BY 'qqpass';
mysql>FLUSH PRIVILEGES;
mysql>CREATE DATABASE qqdb;
=====================================================================================
五.测试php是否可以连接数据库
http://www1.test.com/测试A主机的静态数据
http://www2.test.com/第1台主机的静态数据连接成功
http://www1.test.com/index.php第2台物理机的第一个虚拟主机的动态数据访问成功
http://www2.test.com/index.php第2台物理机的第二个虚拟主机的动态数据访问成功
http://www1.test.com/wordpress/index.php测试转发第2台主机第一个虚拟主机
http://www2.test.com/myadmin/index.php测试转发第2台主机第二个虚拟主机
六.给B主机上的php-myadmin提供https服务,详情参考单主机部署LAMP
七.压力测试
1.httpd主机的静态数据测试html:
[root@zq~]# ab-c 100 -n 1000 http://www1.test.com/data/vhost/www1/index.html 静态数据
Time perrequest: 17.254 [ms] (mean) 十次的测试数据稳定在这个数值
Time perrequest: 0.172 [ms] (mean, across all concurrent requests)
Transferrate: 2495.00 [Kbytes/sec] received
[root@zq~]# ab -c 100 -n 1000 http://www1.test.com/data/vhost/www1/index.php
Timetaken for tests: 0.423 seconds
Totaltransferred: 226000 bytes
Requestsper second: 1613.49 [#/sec] (mean)
Time perrequest: 42.345 [ms] (mean) 十次的测试数据稳定在这个数值
Time perrequest: 0.493 [ms] (mean, across all concurrent requests)
Transferrate: 515.33 [Kbytes/sec] received
[root@zq~]# ab -c 100 -n 1000 http://www1.test.com/data/vhost/www1/wordpress/index.php
Timetaken for tests: 0.428 seconds
Totaltransferred: 226000 bytes
Requestsper second: 2168.61 [#/sec] (mean)
Time perrequest: 47.690 [ms] (mean) 十次的测试数据稳定在这个数值
Time perrequest: 0.487 [ms] (mean, across all concurrent requests)
Transferrate: 46.59 [Kbytes/sec] received
[root@zq~]# ab -c 100 -n 1000 http://www2.test.com/data/vhost/www2/myadmin/index.php
DocumentPath: /data/vhost/www2/myadmin/index.php
Timetaken for tests: 0.495 seconds
Totaltransferred: 226000 bytes
Requestsper second: 2168.43 [#/sec] (mean)
Time perrequest: 45.840 [ms] (mean) 十次的测试数据稳定在这个数值
Time perrequest: 0.490 [ms] (mean, across all concurrent requests)
Transferrate: 486.59 [Kbytes/sec] received
注意对于bash来书单次接受的数据不能大于10024所以压力测试时不能把数值调的过大
并发100请求1000 |
并发100请求1000 |
并发100请求1000 |
|
单台主机做LAMP |
122.684 |
119.658 |
118.152 |
三台主机做LAMP |
48.658 |
47.685 |
48.158 |
转载于:https://blog.51cto.com/11655108/1827593
三台主机分别部署LAMP相关推荐
- 【乐意黎】CentOS 7.2主机上部署 LAMP实战
1.系统版本说明 # cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 注:这是本文档实施时参考的系统版本.您的实际使用版本可能 ...
- 阿里云ECS主机部署LAMP环境
阿里云ECS主机一键部署LAMP环境 1.LAMP概念 LAMP是Linux+Apache+MySQL+Perl/PHP/Python等组成常用来搭建动态网站或者服务器的开源软件,它们本身都是独立的程 ...
- 通过Playbook部署LAMP(5)
title: 通过Playbook部署LAMP(5) date: 2018-12-03 13:24:07 tags: Ansible categories: Ansible copyright: tr ...
- 基于ansible Role实现批量部署lamp平台
一.ansible Role介绍 # ansilbe自1.2版本引入的新特性,用于层次性.结构化地组织playbook. # roles能够根据层次型结构自动装载变量文件.tasks以及handler ...
- 阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7)
阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7) 1.效果图 1 2. 部署步骤 1 1. mysql安装附加(centos7) 7 ...
- CentOS6系统编译部署LAMP(Linux, Apache, MySQL, PHP)环境
我们一般常规的在Linux服务器中配置WEB系统会用到哪种WEB引擎呢?Apache还是比较常用的引擎之一.所以,我们在服务器中配置LAMP(Linux, Apache, MySQL, PHP)是我们 ...
- ansible部署LAMP架构
简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量 ...
- ansible角色部署lamp架构
使用ansible角色部署lamp架构 文章目录 使用ansible角色部署lamp架构 一.部署Apache 1.配置主机并创建角色 2.编写task任务 3.编写脚本 4.调用角色 二.部署mys ...
- mysql pxc 高可用多主机离线部署
mysql pxc高可用 跨主机部署pxc 本文使用docker进行安装,主机间通过docker swarm网络进行通讯.不了解Docker的请自行先网上看以下教程入门一下.这里没有深入的Docker ...
最新文章
- C# DEBUG 调试信息打印及输出详解
- Android 蓝牙开发实例--蓝牙聊天程序的设计和实现
- http://www.openwebx.org/docs/turbine.html
- UA MATH523A 实分析3 积分理论例题 判断函数可积性的一个题目
- Lesson 2.矩阵运算基础、矩阵求导与最小二乘法
- Codeforces Round #738 (Div. 2)
- leetcode619. 只出现一次的最大数字(SQL)
- Android 获得ImageView中Image的绘制大小
- oracle dba角色_DBA在“即服务”世界中角色的不断变化
- 智慧楼宇、消防系统、门禁管理、暖通空调、给排水、变配电、设备管理、停车管理、能源管理、故障检测、客流统计、运行控制、权限分配、物联网、Axure原型、rp原型、产品原型
- dorado7时间格式调整
- Socket长连接和短连接的区别
- word如何将选择题按首字母拼音排序
- unity之跳一跳(完整版)
- Excel中Chart对象成员表
- pmp考试24计 | 第十三计-计清:首先和首要
- 在Openshift上部署asp.net遇到的一些捉急问题总结
- 华为到底算不算是一份好工作?看完你们还会羡慕华为的高薪吗?
- 前方是绝路,希望在转角
- [文档] 软件测试报告
热门文章
- 新冠疫情使新科研项目减少36%,生物化学研究下降最多,女性科学家最受影响 | Nature子刊...
- Jupyter Notebook已出现“返祖现象”,这款工具让你在终端里使用它
- 粒子物理标准模型错了?电子“表哥”磁性超出理论预计,物理学家找到未知粒子存在证据...
- 全球三大芯片架构之一MIPS倒下!转身投入RISC-V阵营
- 如何用PyTorch进行语义分割?一个教程教会你|资源
- 这引人联想的机械右手!玩转魔方,灵活不输人类,OpenAI:前所未有
- GitHub也会断供:美国制裁地区帐号都受限,毫无预警,个人页面直接404
- 500元辛苦费,求一C#算法,自由定义表达式
- 关于存session,cookie还是数据库或者memcache的优劣,部分网上抄录
- 55:Mysql用户管理|常用sql语句|mysql数据库备份恢复