后端常用框架环境与软件详解

一、基础运行环境

1. JDK(Java Development Kit)

定义:Java 开发工具包,包含编译器、运行时环境(JRE)及核心类库
作用:提供 Java 程序开发和运行的基础环境,是所有 Java 应用的必备依赖
安装步骤(Linux):

# 1. 下载JDK 21压缩包并解压
wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz
tar -zxvf jdk-21_linux-x64_bin.tar.gz -C /usr/local/# 2. 配置环境变量
echo 'export JAVA_HOME=/usr/local/jdk-21' >> /etc/profile
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile
source /etc/profile# 3. 验证安装
java -version  # 输出java version "21.0.1"即成功

2. Node.js

定义:基于 Chrome V8 引擎的 JavaScript 运行时环境
作用:用于开发后端 API 服务(如 Express 框架)和前端构建工具(Webpack、Vite)
安装(Ubuntu):

sudo apt update && sudo apt install nodejs npm -y
node -v  # 验证版本,推荐v18+

二、数据存储

3. MySQL

定义:关系型数据库管理系统(RDBMS)
作用:存储结构化数据,支持事务 ACID 特性,适用于业务数据存储
安装与配置

# 1. 安装MySQL Server
sudo apt install mysql-server -y# 2. 安全初始化(设置密码、移除匿名用户)
sudo mysql_secure_installation# 3. 启动并设置开机自启
sudo systemctl enable --now mysql
sudo systemctl status mysql  # 确认状态为active (running)

4. ElasticSearch

定义:分布式全文搜索引擎
作用:实现商品搜索、日志分析等全文检索功能,支持复杂聚合查询
Docker 快速部署

docker run -d --name es -p 9200:9200 -e "discovery.type=single-node" elasticsearch:8.11.3
# 验证:访问http://localhost:9200,返回JSON包含"name":"es-node"

三、开发与构建工具

5. Git

定义:分布式版本控制系统
作用:跟踪代码变更,支持分支管理和多人协作开发
安装与配置

sudo apt install git -y
git config --global user.name "Your Name"
git config --global user.email "you@example.com"

6. Maven

定义:Java 项目构建和依赖管理工具
作用:自动下载依赖、管理项目生命周期(编译、测试、打包)
核心配置(pom.xml):

<dependencies><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.15.2</version></dependency>
</dependencies>

安装

wget https://dlcdn.apache.org/maven/maven-3/3.9.6/binaries/apache-maven-3.9.6-bin.tar.gz
tar -zxvf apache-maven-3.9.6-bin.tar.gz -C /usr/local/
echo 'export PATH=/usr/local/apache-maven-3.9.6/bin:$PATH' >> /etc/profile

四、服务器与中间件

7. Tomcat

定义:Java Web 应用服务器,支持 Servlet/JSP 规范
作用:部署 Java Web 项目(如 Spring Boot WAR 包)
安装

wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.16/bin/apache-tomcat-10.1.16.tar.gz
tar -zxvf apache-tomcat-10.1.16.tar.gz -C /usr/local/
/usr/local/apache-tomcat-10.1.16/bin/startup.sh  # 启动

8. Nginx

定义:高性能 HTTP 服务器与反向代理
作用:负载均衡、静态资源服务、SSL 终结、API 网关
安装与配置

sudo apt install nginx -y
# 配置反向代理(/etc/nginx/conf.d/app.conf)
server {listen 80;server_name api.example.com;location / {proxy_pass http://localhost:8080;proxy_set_header Host $host;}
}
sudo systemctl restart nginx

9. RabbitMQ

定义:基于 AMQP 协议的消息队列
作用:服务解耦、异步通信(如订单通知、日志收集)
安装与管理

sudo apt install rabbitmq-server -y
sudo rabbitmq-plugins enable rabbitmq_management  # 启用Web管理界面
# 访问http://localhost:15672,默认账号guest/guest

10. Kafka

定义:分布式流处理平台
作用:高吞吐日志收集、实时数据管道(如 ELK 日志栈)
单节点部署

# 1. 启动ZooKeeper
wget https://dlcdn.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz
tar -zxvf kafka_2.13-3.6.1.tgz
cd kafka_2.13-3.6.1
bin/zookeeper-server-start.sh config/zookeeper.properties &
# 2. 启动Kafka Broker
bin/kafka-server-start.sh config/server.properties &

11. ZooKeeper

定义:分布式协调服务
作用:集群配置管理、服务注册与发现(Kafka/ElasticSearch 依赖)
集群配置(zoo.cfg):

tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
server.1=zk1:2888:3888  # 节点1
server.2=zk2:2888:3888  # 节点2
server.3=zk3:2888:3888  # 节点3

五、缓存与性能优化

12. Redis

定义:内存数据库,支持多种数据结构(字符串、哈希、列表等)
作用:缓存热点数据、分布式锁、计数器、消息队列
安装与启动

sudo apt install redis-server -y
# 修改配置文件/etc/redis/redis.conf
bind 0.0.0.0  # 允许远程访问
sudo systemctl restart redis-server
redis-cli ping  # 验证返回PONG

六、容器与编排

13. Docker

定义:容器化平台,打包应用及依赖为标准化容器
作用:环境一致性、快速部署、资源隔离
安装(Ubuntu):

sudo apt install docker.io -y
sudo systemctl enable --now docker
sudo usermod -aG docker $USER  # 当前用户免sudo操作Docker

14. Kubernetes (K8s)

定义:容器编排平台
作用:自动化容器部署、扩展和管理(多节点容器集群)
Minikube 快速体验

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
minikube start  # 启动单节点集群
kubectl get nodes  # 验证节点状态

七、操作系统

15. Linux

定义:开源类 Unix 操作系统
作用:服务器主流操作系统,提供稳定、安全的运行环境
常用发行版:Ubuntu Server、CentOS Stream、Debian
基础优化

# 关闭Swap(K8s要求)
sudo swapoff -a && sudo sed -i '/ swap / s/^/#/' /etc/fstab
# 配置防火墙开放端口
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

八、关键工具对比与选型建议

工具核心优势典型应用场景
MySQL事务支持、成熟稳定业务数据存储(用户、订单)
Redis内存级性能、多数据结构缓存、分布式锁
RabbitMQ消息可靠投递、灵活路由订单通知、异步任务
Kafka高吞吐、持久化日志日志收集、实时数据流
Docker/K8s环境一致性、弹性伸缩微服务部署、DevOps 自动化

安装验证通用方法

  1. 服务状态检查systemctl status <服务名>
  2. 端口监听检查netstat -tuln | grep <端口>(如grep 3306检查 MySQL)
  3. 命令行验证<命令> --version(如java -version
  4. 日志排查journalctl -u <服务名>(如journalctl -u nginx

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/92188.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/92188.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

本地服务器端部署基于大模型的通用OCR项目——dots.ocr

本地服务器端部署基于大模型的通用OCR项目——dots.ocrdots.ocr相关介绍本地服务器端部署第一步&#xff1a;安装cuda12.8与CUDNN8.9.7第二步&#xff1a;创建项目所需的依赖环境第三步&#xff1a;启动项目第四步&#xff1a;测试第五步&#xff1a;文本解析相关性测试第六步&…

Text2SQL 智能问答系统开发-spider验证集(三)

概述 已完成 基础 Text2SQL 功能实现 实现用户输入自然语言问题后&#xff0c;系统能够自动生成 SQL 并执行返回结果。用户交互优化 支持用户通过补充信息对查询进行调整&#xff0c;提升易用性。模糊时间处理机制 对“最近”“近期”等模糊时间关键词进行补全或引导&#xf…

ElementUI常用的组件展示

文章目录1、要使用ElementUI先导入组件库2、自定义表头&#xff0c;可以改为添加和批量删除的按钮3、Dialog模态框&#xff0c;主要用于添加和修改时展示信息4、抽屉5、消息提示&#xff1a;用于提示是否操作成功6、询问&#xff1a;常用于询问是否确定删除7、批量选择复选框8、…

在电脑上可以存储文件并合理备份文件的工具用哪个?

每天被群消息、报表、PPT 轮番轰炸的上班族&#xff0c;最怕的不是加班&#xff0c;而是——文件突然失踪&#xff01;别再把“CtrlS”当护身符&#xff0c;今天一口气测完 4 款热门“文件保险箱”&#xff0c;看看谁才真正配得上你的 Deadline。 敬业签 首先登场的是敬业签&am…

JavaWeb(04)

MyBatis 时一款优秀的持久层框架&#xff0c;用于简化JDBC的开发 The MyBatis Blog 目录 MyBatis入门Mybatis基础CRUDMybatis动态SQL Mybatis入门 快速入门 JDBC介绍 数据库连接池 lombok 准备工作(创建springboot工程&#xff0c;数据库表user&#xff0c;实体类User) …

统计学1:伯努利模型的参数估计与等价性分析

伯努利模型的参数估计方法 1. 统计学习方法三要素对比方法模型策略算法极大似然估计概率模型经验风险最小化数值解贝叶斯估计概率模型结构风险最小化解析解2. 极大似然估计 2.1 模型设定 设P(x1)θP(x1)\thetaP(x1)θ&#xff0c;则P(x0)1−θP(x0)1-\thetaP(x0)1−θ 2.2 似然…

游戏行业DDoS攻防实战指南

一、游戏DDoS攻击特征分析游戏行业DDoS攻击呈现高度复合化特征&#xff0c;攻击手段日益专业化。2023年Akamai监测数据显示&#xff0c;63%的游戏服务器攻击采用UDP反射放大&#xff08;如NTP、Memcached协议&#xff09;与HTTP慢速攻击&#xff08;如Slowloris&#xff09;相结…

[自动化Adapt] 录制引擎 | iframe 穿透 | NTP | AIOSQLite | 数据分片

链接&#xff1a;https://github.com/OpenAdaptAI/OpenAdapt/wiki/OpenAdapt-Architecture-(draft) docs&#xff1a;OpenAdapt OpenAdapt 是一个开源项目&#xff0c;旨在 记录 和 回放 用户在计算机上的交互行为。 它如同智能助手般 观察 我们的操作&#xff08;鼠标点击、…

ipv6学习

ipv6的历史背景和及展望ipv6普及不够&#xff0c;ipv4快要用完。ipv6技术部分ivp6包头结构ipv6不允许分片&#xff0c;减轻中间设备压力。IPv6 包头结构可按字段分层解析&#xff0c;核心特点是 固定头部长度&#xff08;40 字节&#xff09; &#xff0c;将可选功能移至扩展头…

软件定义汽车 --- 电子电气架构的驱动

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…

HTML5 语义元素

HTML5 语义元素 引言 HTML5 作为现代网页开发的基础&#xff0c;引入了许多新的语义元素&#xff0c;这些元素使得网页内容更加结构化&#xff0c;便于搜索引擎更好地理解和索引页面内容。本文将详细介绍 HTML5 中的语义元素&#xff0c;并探讨其在网页设计中的应用。 HTML5…

vue3 el-select el-option 使用

在 Vue 3 中&#xff0c;el-select 是 Element Plus 组件库中的一个选择器组件&#xff0c;它允许用户从下拉菜单中选择一个或多个选项。如果你想在使用 Vue 3 和 Element Plus 时让 el-select 支持多种选择&#xff08;即多选&#xff09;&#xff0c;你可以通过设置 multiple…

windows搬运文件脚本

使用方法&#xff1a;copy_files_by_prefix.bat [目标目录] [结果目录] [文件名前缀] [可选参数&#xff1a;文件包含内容]echo off chcp 65001 >nul setlocal enabledelayedexpansion:: Check parameters if "%~3""" (echo Usage: %~nx0 [SourceDir] […

C++ 中 initializer_list 类型推导

在 C 中&#xff0c;initializer_list 是一种用于表示列表初始化的标准库模板类&#xff0c;提供了一种方便的方式来初始化容器或者进行函数调用时传递一组参数。initializer_list&& 类型推导涉及到右值引用和移动语义&#xff0c;这在现代 C 中变得越来越重要。initia…

自动驾驶中的传感器技术22——Camera(13)

1、可靠性验证的目标车载摄像头作为自动驾驶和高级驾驶辅助系统&#xff08;ADAS&#xff09;的核心传感器&#xff0c;其可靠性直接影响到行车安全。可靠性验证的目标如下&#xff1a;暴露产品缺陷&#xff1a;在研制阶段&#xff0c;通过测试发现并修正产品设计中的问题&…

一周学会Matplotlib3 Python 数据可视化-图形的组成部分

锋哥原创的Matplotlib3 Python数据可视化视频教程&#xff1a; 2026版 Matplotlib3 Python 数据可视化 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 课程介绍 本课程讲解利用python进行数据可视化 科研绘图-Matplotlib&#xff0c;学习Matplotlib图形参数基本设置&…

三万字带你了解那些年面过的Java八股文

Java基础 1. String 和StringBuffer 和 StringBuilder的区别&#xff1f; String 字符串常量 StringBuffer 字符串变量&#xff08;线程安全&#xff09; StringBuilder 字符串变量&#xff08;非线程安全&#xff09; 2. sleep() 区间wait()区间有什么区别&#xff1f; sleep…

HTML 媒体元素概述

HTML 提供了多种元素用于嵌入和控制多媒体内容&#xff0c;包括音频、视频、图像、画布等。以下是常用的 HTML 媒体元素及其用法&#xff1a;音频 (<audio>)<audio> 元素用于嵌入音频内容&#xff0c;支持 MP3、WAV、OGG 等格式。 示例代码&#xff1a;<audio c…

http请求结构体解析

copy了一个接口的curl用来说明http请求的三个结构&#xff1a;请求行&#xff0c;请求头&#xff0c;请求体 文章目录一、请求的curl报文示例二、解析1. 请求行&#xff08;Request Line&#xff09;2. 请求头&#xff08;Request Headers&#xff09;3. 请求体&#xff08;Req…

无人机遥控器舵量技术解析

一、舵量的核心作用1. 精确控制的核心 舵量值&#xff08;通常以PWM微秒值表示&#xff09;量化了操作指令的强度&#xff1a; 小舵量&#xff08;1000μs&#xff09;&#xff1a;对应舵机最小角度或电机最低转速&#xff1b; 中点&#xff08;1500μs&#xff09;&#xf…