一、实验要求
在三台不同的CentOS 7主机上用rpm包快速部署LAMP
大概结构是httpd + php-fpm + mysql 结构的
设置两个虚拟主机www1,www2
www1虚拟主机提供phpMyAdmin
www2虚拟主机提供wordpress
二、实验准备
主机IP:172.16.28.70安装 php-fpm
主机IP:172.16.28.71安装 httpd
主机IP:172.16.28.72 安装mariadb-server
三、操作
(1)在主机IP:172.16.28.71操作
1.安装配置httpd,创建虚拟主机
1.1安装httpd
# yum -y install httpd
1.2启动服务
# systemctl starthttpd.service
1.3验证启动成功
# systemctl status httpd
# ss -tnl 查看监听80端口
# ps aux
1.4查看httpd启动的mpm并发响应模型
# httpd -M | grep mpm
1.5可以看到httpd-2.4默认编译安装了fcgi模块
# httpd -M | grep fcgi
1.6修改httpd配置文件,创建虚拟主机www1和www2
www1的配置文件/etc/httpd/conf.d/www1.conf
www2的配置文件/etc/httpd/conf.d/www2.conf
1.7创建DocumentRoot目录
# mkdir -pv/data/vhosts/www{1,2}
# vim/data/vhosts/www1/index.php
welcome tomagedu,this is www1
# vim/data/vhosts/www2/index.php
welcome tomagedu,this is www2
2.为虚拟主机www1提供wordpress(个人博客系统程序)
2.1得到wordpress解压缩移到虚拟主机的www1的目录下
# unzipwordpress-4.3.1-zh_CN.zip
# mv wordpress/data/vhosts/www1
2.2创建软连接
(创建软链接,方便升级,可以写脚本自动实现,如果失败的也方便回滚)
# ln -sv wordpress wp
注:如果要通过软连接访问主机,那么要在虚拟主机的配置文件中修改如下Option FollowSymLinks
2.3提供配置文件
3.为虚拟主机www2提供phpMyAdmin(管理mysql的,基于web接口的图形管理工具)
3.1获取源码包解压缩,移动到虚拟主机的www2的目录下
# unzipphpMyAdmin-4.3.5-all-languages.zip
# mv phpMyAdmin-4.3.5/data/vhosts/www2
3.2创建软连接
# ln -sv phpMyAdmin-4.3.5pma
3.3提供配置文件
# cp config.sample.inc.phpconfig.inc.php
# vim config.inc.php
添加一个随机码openssl rand –hex 10
(2)在主机IP:172.16.28.72操作
1.1安装mariadb
# yum -y installmariadb-server
1.2启动服务
# systemctl startmariadb.service
1.3验证服务启动
# systemctl status mariadb.service
# ss -tnl 验证监听3306端口
1.4为mariadb增加安全性
# mysql_secure_installation
设置密码 654321
是否移除匿名登录移除
是否支持远程登录支持
是否删除测试的database
是否刷新
1.5创建用户和数据库
由于wordpress(个人博客系统程序),要使用mysql数据库,先生成wordpress要使用的数据库以及用户名和密码
(3)在主机IP:172.16.28.70操作
1.安装并配置php-fpm
1.1安装php-fpm
安装之前确保php没有安装,安装php将自己做成了模块,php-fpm编译成独立的服务器其互不相容
# rpm -q php
# yum install php-fpm php-mysqlphp-gd php-mbstring php-xml
# rpm -ql php-fpm
1.2修改php-fpm配置文件
# vim /etc/php-fpm.d/www.conf
listen = 172.16.28.70:9000
listen.allowed_clients =172.16.28.71
监听地址和端口,监听httpd服务器所在主机的IP地址。查看user,group进程是以谁的身份运行,缺少session的目录,因此需要添加session目录,并且为其更改属组
1.3根据配置文件,创建目录更改属组
1.4重启服务
# systemctl start php-fpm.service
启动php-fpm服务
1.5验证服务启动
# systemctl statusphp-fpm.service
# ss -tnl 查看9000号端口打开
# ps aux | grep php-fpm 查看php-fpm
2.部署wordpress部署同上,不在赘述
3.部署phpMyAdmin部署同上,不在赘述
(4)测试
提供php的测试页并且测试mysql连接是否正常
(5)浏览器查看部署
虚拟主机www1的测试结果
虚拟主机www2的测试结果
(5)验证部署结果
虚拟主机www1部署的wordpress
虚拟主机www2部署的phpMyAdmin
四、总结
这个构建关键在于,搞清楚LAMP这个平台的工作机制,如何将三台主机连接在一起,监听的地址和端口