一、基础运行环境

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