后端常用框架環境與軟件詳解

一、基礎運行環境

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
英文地址,請注明出處:http://en.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…