当前位置: 首页 > news >正文

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

相关文章:

LAMP集群分布式实验报告

前景: 1.技术成熟度和稳定性: LAMP架构(Linux、Apache、MySQL、PHP)自1998年提出以来,经过长时间的发展和完善,已经成为非常成熟和稳定的Web开发平台。其中,Linux操作系统因其高度的灵活性和稳…...

vue3中函数必须有返回值么?

在 Vue 3 中,特别是涉及到Composition API的使用时,setup() 函数确实必须有返回值。setup() 函数是组件的入口点,它的返回值会被用来决定哪些数据和方法是可被模板访问的。返回的对象中的属性和方法可以直接在模板中使用。如果setup()没有返回…...

经常用到的函数

创建文件夹和删除文件夹的函数 def make_dirs(*dirs):for new_dir in dirs:if not os.path.exists(new_dir):try:os.makedirs(new_dir)except RuntimeError:return Falsereturn Truedef remove_files(file_path_list):""" 删除列表中指定路径文件Args:file_pat…...

vue3学习(六)

前言 接上一篇学习笔记,今天主要是抽空学习了vue的状态管理,这里学习的是vuex,版本4.1。学习还没有学习完,里面有大坑,难怪现在官网出的状态管理用Pinia。 一、vuex状态管理知识点 上面的方式没有写全,还有…...

[数据集][目标检测]猫狗检测数据集VOC+YOLO格式8291张2类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):8291 标注数量(xml文件个数):8291 标注数量(txt文件个数):8291 标注…...

简单模拟实现shell(Linux)

目录​​​​​​​ 前言 展示效果 实现代码 前言 该代码模拟了shell的实现,也就是解析类似于“ls -a -l"的命令,当我们启动我们自己写的shell的可执行程序时,我们输入"ls"的命令,也可以展示出在shell中输入&…...

SQL深度解析:从基础到高级应用

SQL(Structured Query Language)是用于管理关系型数据库的语言,广泛应用于数据管理、分析和查询。本文将详细介绍SQL的基础知识、高级特性以及一些常见的代码示例,帮助您全面掌握SQL的应用。 一、SQL基础语法 数据库操作 创建数据…...

乡村振兴与脱贫攻坚相结合:巩固拓展脱贫攻坚成果,推动乡村全面振兴,建设更加美好的乡村生活

目录 一、引言 二、巩固拓展脱贫攻坚成果 1、精准施策,确保稳定脱贫 2、强化政策支持,巩固脱贫成果 3、激发内生动力,促进持续发展 三、推动乡村全面振兴 1、加快产业发展,增强乡村经济实力 2、推进乡村治理体系和治理能力…...

[AI Google] Google I/O 2024: 为新一代设计的 I/O

编辑注:以下是 Sundar Pichai 在 I/O 2024 上讲话的编辑版,并包含了更多在舞台上宣布的内容。查看我们收藏中的所有公告。 Google 完全进入了我们的 Gemini 时代。 在开始之前,我想反思一下我们所处的这一刻。我们已经在 AI 上投资了十多年…...

CentOS配置DNS

1.打开/etc/resolv.conf文件 sudo vi /etc/resolv.conf2.添加配置 nameserver 114.114.114.1143.保存并关闭文件。 4.为了确保配置生效,重启网络服务或重启系统。例如: 重启网络: sudo systemctl restart network重启系统: …...

ArcGIS空间数据处理、空间分析与制图;PLUS模型和InVEST模型的原理,参量提取与模型运行及结果分析;土地利用时空变化以及对生态系统服务的影响分析

工业革命以来,社会生产力迅速提高,人类活动频繁,此外人口与日俱增对土地的需求与改造更加强烈,人-地关系日益紧张。此外,土地资源的不合理开发利用更是造成了水土流失、植被退化、水资源短缺、区域气候变化、生物多样性…...

Linux基于V4L2的视频捕捉

简介 linux环境使用V4l2实现摄像头捕捉&#xff0c;界面流畅播放并可以保存图片到本地。 代码 void VideoCapture::run() {qDebug() << "VideoCapture start";// 打开设备int fd open("/dev/video0", O_RDWR);if(fd < 0){qDebug("video设…...

ECS搭建2.8版本的redis

要在ECS&#xff08;Elastic Compute Service&#xff09;上手动搭建Redis 2.8版本&#xff0c;你可以按照以下步骤操作&#xff1a; 步骤1&#xff1a;更新系统和安装依赖 首先&#xff0c;登录到你的ECS实例&#xff0c;确保系统是最新的并安装必要的依赖包&#xff1a; s…...

[机器学习]GPT LoRA 大模型微调,生成猫耳娘

往期热门专栏回顾 专栏描述Java项目实战介绍Java组件安装、使用&#xff1b;手写框架等Aws服务器实战Aws Linux服务器上操作nginx、git、JDK、VueJava微服务实战Java 微服务实战&#xff0c;Spring Cloud Netflix套件、Spring Cloud Alibaba套件、Seata、gateway、shadingjdbc…...

代码随想录算法训练营Day24|216.组合总和III、17.电话号码的字母组合

组合总和III 216. 组合总和 III - 力扣&#xff08;LeetCode&#xff09; 思路和昨日的组合题类似&#xff0c;但注意对回溯算法中&#xff0c;收获时的条件需要写对&#xff0c;path的长度要为k的同时&#xff0c;path中元素总和要为n。 class Solution { public:vector<…...

【Python系列】Python 中方法定义与方法调用详解

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

Java 基础面试300题 (201-230)

Java 基础面试300题 &#xff08;201-230&#xff09; 201.下面代码片段的输出是什么&#xff1f; Predicate<Integer> numberChecker (num)–> num > 20; int input 10; System.out.println(input” greater than 20–”numberChecker.test(input)); //Line 1…...

Go-知识并发控制Context

Go-知识并发控制Context 1. 介绍2. 实现原理2.1 接口定义2.2 Deadline()2.3 Done()2.4 Err()2.5 Value() 3. 空 context4. cancelCtx4.1 Done()4.2 Err()4.3 cancel()4.4 WithCancel4.5 例子4.6 总结 5. timerCtx5.1 Deadline5.2 cancel5.3 WithDeadline5.4 WithTimeout5.5 例子…...

Vue + Nodejs + socket.io 实现聊天

Vue 代码 // 安装 socket.io-clientnpm i socket.io-clientimport io from socket.io-client;mounted () {// * location.origin 表示你的 socket 服务地址// * /XXXX/socket.io 表示 你的 socket 在服务器配置的 访问地址let socket io(location.origin, {path: "/XX…...

cocos creator 3.x实现手机虚拟操作杆

简介 在许多移动游戏中&#xff0c;虚拟操纵杆是一个重要的用户界面元素&#xff0c;用于控制角色或物体的移动。本文将介绍如何在Unity中实现虚拟操纵杆&#xff0c;提供了一段用于移动控制的代码。我们将讨论不同类型的虚拟操纵杆&#xff0c;如固定和跟随&#xff0c;以及如…...

JavaSec-RCE

简介 RCE(Remote Code Execution)&#xff0c;可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景&#xff1a;Groovy代码注入 Groovy是一种基于JVM的动态语言&#xff0c;语法简洁&#xff0c;支持闭包、动态类型和Java互操作性&#xff0c…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

Java如何权衡是使用无序的数组还是有序的数组

在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

tree 树组件大数据卡顿问题优化

问题背景 项目中有用到树组件用来做文件目录&#xff0c;但是由于这个树组件的节点越来越多&#xff0c;导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多&#xff0c;导致的浏览器卡顿&#xff0c;这里很明显就需要用到虚拟列表的技术&…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...

【Linux】自动化构建-Make/Makefile

前言 上文我们讲到了Linux中的编译器gcc/g 【Linux】编译器gcc/g及其库的详细介绍-CSDN博客 本来我们将一个对于编译来说很重要的工具&#xff1a;make/makfile 1.背景 在一个工程中源文件不计其数&#xff0c;其按类型、功能、模块分别放在若干个目录中&#xff0c;mak…...

Python网页自动化Selenium中文文档

1. 安装 1.1. 安装 Selenium Python bindings 提供了一个简单的API&#xff0c;让你使用Selenium WebDriver来编写功能/校验测试。 通过Selenium Python的API&#xff0c;你可以非常直观的使用Selenium WebDriver的所有功能。 Selenium Python bindings 使用非常简洁方便的A…...