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应用提供更加强大和稳定的支持。
一、实训目的
- 熟悉整个Linux操作系统,掌握相关知识。
- 了解并运用相关代码对RadHat操作系统进行相关的网络配置。
- ①安装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实现摄像头捕捉,界面流畅播放并可以保存图片到本地。 代码 void VideoCapture::run() {qDebug() << "VideoCapture start";// 打开设备int fd open("/dev/video0", O_RDWR);if(fd < 0){qDebug("video设…...
ECS搭建2.8版本的redis
要在ECS(Elastic Compute Service)上手动搭建Redis 2.8版本,你可以按照以下步骤操作: 步骤1:更新系统和安装依赖 首先,登录到你的ECS实例,确保系统是最新的并安装必要的依赖包: s…...

[机器学习]GPT LoRA 大模型微调,生成猫耳娘
往期热门专栏回顾 专栏描述Java项目实战介绍Java组件安装、使用;手写框架等Aws服务器实战Aws Linux服务器上操作nginx、git、JDK、VueJava微服务实战Java 微服务实战,Spring Cloud Netflix套件、Spring Cloud Alibaba套件、Seata、gateway、shadingjdbc…...
代码随想录算法训练营Day24|216.组合总和III、17.电话号码的字母组合
组合总和III 216. 组合总和 III - 力扣(LeetCode) 思路和昨日的组合题类似,但注意对回溯算法中,收获时的条件需要写对,path的长度要为k的同时,path中元素总和要为n。 class Solution { public:vector<…...

【Python系列】Python 中方法定义与方法调用详解
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...
Java 基础面试300题 (201-230)
Java 基础面试300题 (201-230) 201.下面代码片段的输出是什么? 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实现手机虚拟操作杆
简介 在许多移动游戏中,虚拟操纵杆是一个重要的用户界面元素,用于控制角色或物体的移动。本文将介绍如何在Unity中实现虚拟操纵杆,提供了一段用于移动控制的代码。我们将讨论不同类型的虚拟操纵杆,如固定和跟随,以及如…...

Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...

el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...

华为OD机考-机房布局
import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...