一、基础运行环境
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 自动化 |
安装验证通用方法
- 服务状态检查:
systemctl status <服务名>
- 端口监听检查:
netstat -tuln | grep <端口>
(如grep 3306
检查 MySQL) - 命令行验证:
<命令> --version
(如java -version
) - 日志排查:
journalctl -u <服务名>
(如journalctl -u nginx
)