LAMP集群分布式实验报告

前景:

1.技术成熟度和稳定性:

LAMP架构(Linux、Apache、MySQL、PHP)自1998年提出以来,经过长时间的发展和完善,已经成为非常成熟和稳定的Web开发平台。其中,Linux操作系统因其高度的灵活性和稳定性而广受欢迎;Apache服务器则以其高性能、稳定性和广泛的平台支持而著称;MySQL数据库以其易用性、稳定性和高性能在Web应用中占据重要地位;PHP作为脚本语言,与LAMP架构高度兼容,为Web开发提供了丰富的功能和灵活性。

2.分布式集群的优势:

分布式集群通过将多个计算机节点组合成一个整体,共同处理用户请求和数据存储,能够显著提高系统的吞吐量、响应速度和可扩展性。对于LAMP架构来说,采用分布式集群技术可以进一步提升其性能和可靠性,满足大规模Web应用的需求。

3.技术趋势:随着云计算、大数据和人工智能等技术的快速发展,分布式系统已经成为解决大规模数据处理和存储问题的关键技术。LAMP集群分布式实验有助于探索和优化分布式系统的性能,为未来的技术发展提供有力支持。

4.市场需求:随着互联网的普及和Web应用的不断增多,对于高性能、高可靠性和可扩展性的Web平台的需求也在不断增加。LAMP集群分布式实验能够满足这一市场需求,为Web应用提供更加强大和稳定的支持。

教育和研究价值:LAMP集群分布式实验不仅有助于提高学生的实践能力和技术水平,还有助于推动相关领域的科研进展。通过实验,学生可以深入了解分布式系统的原理和实现方式,掌握相关的技术和工具;同时,实验结果还可以为相关领域的科研工作提供有价值的参考和借鉴。

面临的挑战和机遇:

在进行LAMP集群分布式实验时,可能会面临一些挑战,如网络延迟、数据一致性、负载均衡等问题。然而,这些挑战也为实验提供了更多的研究机会和创新空间。通过不断尝试和优化,可以探索出更加高效和可靠的分布式系统解决方案。

综上所述,LAMP集群分布式实验具有广阔的前景和重要的价值。通过深入研究和实验,可以推动分布式系统技术的发展和应用,为Web应用提供更加强大和稳定的支持。

一、实训目的
  1. 熟悉整个Linux操作系统,掌握相关知识。
  2. 了解并运用相关代码对RadHat操作系统进行相关的网络配置。
  3. ①安装httpd ②安装PHP及其相关扩展(如php-mysql,用于与数据库通信)。③安装phpMyAdmin并配置它以连接到MariaDB服务器。④配置Apache以支持PHP⑤确保防火墙和安全组规则允许对Web服务器的HTTP和HTTPS访问。
二、环境准备

hostname ip 系统

web   10.0.0.88  rhel-baseos-9.0-x86_64-dvd.iso

Datebase10.0.0.99 rhel-baseos-9.0-x86_64-dvd.iso

test   10.0.0.77  rhel-baseos-9.0-x86_64-dvd.iso

①显示的是httpd服务器(即apache)和php服务器通过FastCGI协议进行通信,且php作为独立的服务进程运行阶段。

②显示的是php程序和mysql数据库间通过mysql协议进行通信。php与mysql本没有什么联系,但是由php语言写成的程序可以与mysql进行数据交互。同理perl和python写的程序也可以与mysql数据库进行交互。

三、安装Linux firewalld与Linux网络yum SElinux

1、修改主机名

输入命令hostnamectl set-hostname web

修改成web,重启主机输入reboot生效

2、关闭防火墙与SElinux

输入命令systemctl status firewalld查看防火墙状态

systemctl stop firewalld关闭防火墙

输入命令修改SELinux配置文件 vim /etc/selinux/config

将SELINUX=enforcing改为SELINUX=disabled(可将防火墙永久关闭)

3、修改ssh配置文件并进行远程链接服务

输入命令vim /etc/ssh/sshd_config

找到port,去掉“#”,将22改成10022

输入命令systemctl restart sshd,若出现以上情况,则很大可能为未下载openssh服务

输入命令 yum -y install openssh进行下载

下载完毕后输入reboot重启服务,此时远程连接端口需特别注意更改为10022才能连接。

四、安装httpd与php服务
1、输入命令yum -y install httpd安装httpd服务

systemctl start httpd启动httpd服务

systemctl enable httpd 实现开机自启动httpd服务

2、安装PHP及其相关扩展

输入命令yum install php php-mysqlnd php-fpm安装

systemctl start php-fpm.service启动服务

systemctl enable php-fpm.service实现开机自启

测试php:创建一个PHP测试页面来验证LAMP服务器是否已正确安装和配置。在Apache的文档根目录(通常是/var/www/html/)中创建一个名为info.php的文件

输入命令systemctl restart httpd重启httpd服务

 cd /var/www/html/

vim info.php创建文件

再次输入ystemctl restart httpd重启httpd服务

3、回到虚拟机进行测试

此时测试成功!

五、安装phpMyAdmin并配置它以连接到MariaDB服务器
1、安装phpMyAdmin并测试

输入命令wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz下载

tar -xvzf phpMyAdmin-latest-all-languages.tar.gz对文件进行解压缩

输入命令ls查看是否解压完成

输入命令mv phpMyAdmin-5.2.1-all-languages phpMyAdmin进行重命名

输入命令mv phpMyAdmin /var/www/html/移动到html目录下

systemctl restart httpd再次重启服务

显示空白页面,则需重新更新yum源

输入命令yum -y update

输入命令重启即可!

2、配置并连接到MariaDB服务器

输入命令ls查看文件

cd phpMyAdmin/

//如果不是config.inc.php,而是config.sample.inc.php,就将文件改成config.inc.php

 mv config.sample.inc.php config.inc.php

输入命令vim config.inc.php编辑文件

输入命令重启服务

3、数据库服务器

(1)安装MariaDB,配置MariaDB以允许来自Web服务器的连接

(IP和ssh的端口设为10022,操作如web服务器并进行远程连接)

输入命令systemctl stop firewalld

Systemctl disable firewalld

(2)安装MariaDB。

输入命令systemctl start mariadb.service

systemctl enable mariadb.service重启服务

(3)创建一个数据库和相应的用户,并为该用户授予适当的权限。

输入命令mysql_secure_installation更改root密码,并进行远程连接

输入命令mysql -u root -p

输入密码123456

SELECT User, Host FROM mysql.user;

CREATE USER 'ley'@'10.0.0.88' IDENTIFIED BY '123456';创建新用户及密码

GRANT ALL PRIVILEGES ON mysql.* TO 'ley'@'10.0.0.88';授权

FLUSH PRIVILEGES;刷新权限后退出;\q

测试:输入http://10.0.0.88/phpMyAdmin/index.php

通过 web 浏览器访问 phpMyAdmin,并使用你配置的用户名和密码登录到 MariaDB 数据库。

此处创建时的用户名为ley

密码为123456

(4) 确保防火墙和安全组规则允许来自Web服务器的数据库连接(通常是TCP端口3306)。

确保防火墙和安全组规则允许对Web服务器的HTTP和HTTPS访问。

六、对测试机的搭建与服务测试
1、测试机的ip与远程连接配置

(IP和ssh的端口设为10022,操作如web服务器并进行远程连接)

输入命令systemctl stop firewalld

Systemctl disable firewalld

2、测试http://10.0.0.88/phpMyAdmin/index.php

输入账号和密码

ley与123456

在此LAMP集群搭建完毕。

七、防火墙的搭建

简介:为了使用防火墙(如iptables或firewalld)来限制对集群的访问,我们为httpd增加两个端口8080和10080,修改mariadb的端口为30306,而且三台主机在同一个网段可以通过ssh互相访问

1、增加httpd端口

输入命令vim /etc/httpd/conf/httpd.conf

systemctl restart httpd重启httpd服务

2、测试:10080端口和8080端口是否可以访问

(1)http://10.0.0.88:80/phpMyAdmin/index.php

  1. http://10.0.0.88:8080/phpMyAdmin/index.php

  1. http://10.0.0.88:10080/phpMyAdmin/index.php

如出现如下情况

①在火狐输入about:config,点击Accept the Risk and Continue

②输入network.security.ports.banned.override,选择String

③点击加号键,将需访问网站的端口号添加8080和10080端口,中间用逗号隔开

④刷新http://10.0.0.99:10080/phpMyAdmin/index.php网页,就能成功访问了!

3、对端口的修改

(1)启动数据库

输入命令cd /etc/my.cnf.d/

Ls

输入命令修改文件vim mariadb-server.cnf(添加port = 学号后五位)

systemctl restart mariadb.service重启服务

netstat -tunlp | grep mariadb查看端口是否添加成功。

(2)在phpmyadmin中输入命名vim /var/www/html/phpMyAdmin/config.inc.php将3306更改为30306

4、防火墙开启后的测试

我们将使用防火墙对部分端口的访问进行相应的测试

(1)web服务器防火墙配置

httpd有三个端口,通过防火墙设置只允许10080对集群进行访问,同时禁止80和8080端口访问。

输入命令systemctl start firewalld.service打开防火墙

systemctl restart firewalld.service重启服务

①firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.0.0.88" port protocol="tcp" port="10080" accept' 允许10080端口访问

②firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="10.0.0.88" port protocol="tcp" port="80" reject' 拒绝80端口的访问

③firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="10.0.0.88" port protocol="tcp" port="8080" reject' 拒绝8080端口的访问

firewall-cmd --reload重新加载

firewall-cmd --list-all查看是否添加成功

(3)对三个端口分别进行测试-在测试机Test上进行(此处只有10080端口能访问)

http://10.0.0.88:80/phpMyAdmin/index.php

http://10.0.0.88:8080/phpMyAdmin/index.php

http://10.0.0.88:10080/phpMyAdmin/index.php

(4)数据库防火墙配置

①输入命令启动防火墙systemctl start firewalld.service

②systemctl restart firewalld.service重启服务

③firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.0.0.88" port protocol="tcp" port="30306" accept'--------- 允许web服务器通过30306端口访问数据库

④输入命令firewall-cmd --reload重新加载

⑤firewall-cmd --list-all查看配置

通过10080端口,登录phpMyadmin界面,访问数据库

(5)sshd防火墙配置

此时的所有的远程连接应该已经断开,因为防火墙开启限制了sshd服务的端口10022

输入命令firewall-cmd --add-port=10022/tcp --permanent允许1002端口访问

firewall-cmd --reload

firewall-cmd --list-all

三台主机之间在同一个网段,可以通过ssh服务互相登录,如同下图所示,主机之间可以互相登录,这不安全,我们要在三台主机之间设置拒绝登录

firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="10.0.0.99" port protocol="tcp" port="10022" reject'

firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="10.0.0." port protocol="tcp" port="10022" reject'

拒绝访问测试

到此实验全部完成!

  • 66
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

放情

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值