WSL 开发环境搭建指南:Java 11 + 中间件全家桶安装实战

在WSL(Windows Subsystem for Linux)环境下一站式安装开发常用工具,能极大提升工作效率。接下来我将分步为你介绍如何在WSL中安装Java 11、Maven、Redis、MySQL、Nacos、RabbitMQ、RocketMQ、Elasticsearch(ES)和Node.js,让你轻松搭建起全栈开发环境。

一、安装Java 11

首先打开WSL终端(以Ubuntu为例),更新软件包列表:

bash 复制代码
sudo apt update

接着使用系统包管理器安装OpenJDK 11:

bash 复制代码
sudo apt install openjdk-11-jdk

安装完成后,通过命令查看Java版本,验证是否安装成功:

bash 复制代码
java --version

若显示类似openjdk 11.0.XX 202X-XX-XX的信息,说明Java 11已安装妥当。

二、安装Maven

同样在更新软件包列表后,执行以下命令安装Maven:

bash 复制代码
sudo apt update
sudo apt install maven

安装完成后,输入命令查看Maven版本:

bash 复制代码
mvn --version

出现Maven版本信息,即表示安装成功。

三、安装Redis

  1. 更新包列表:
bash 复制代码
sudo apt update
  1. 安装Redis服务器:
bash 复制代码
sudo apt install redis-server
  1. 安装完成后,Redis会自动启动。可以通过以下命令检查其运行状态:
bash 复制代码
sudo systemctl status redis-server

若显示active (running),说明Redis已正常运行。你还可以通过redis-cli命令进入Redis客户端,输入PING测试连接,若返回PONG,则连接成功。

四、安装MySQL

  1. 更新软件包列表:
bash 复制代码
sudo apt update
  1. 安装MySQL服务器:
bash 复制代码
sudo apt install mysql-server
  1. 安装完成后,运行安全脚本设置密码等安全选项:
bash 复制代码
sudo /etc/init.d/mysql start
sudo mysql_secure_installation

根据提示设置密码为12345678,并移除匿名用户等。

  1. 打开MySQL命令行:
bash 复制代码
sudo mysql
  1. 设置MySQL允许远程登录:
bash 复制代码
use mysql;
update user set host = '%' where user = 'root' and host = 'localhost';
flush privileges;
exit;
  1. 开启MySQL开机自启:
bash 复制代码
sudo systemctl enable mysql

至此,MySQL安装完成。

五、安装Nacos

  1. 确保已安装Java运行环境。
  2. 从Nacos官方仓库下载适合的版本,例如通过命令行下载(假设下载最新稳定版,实际请根据最新版本调整):
bash 复制代码
wget https://github.com/alibaba/nacos/releases/download/最新版本/nacos-server-最新版本.tar.gz
  1. 解压Nacos压缩包:
bash 复制代码
tar -zxvf nacos-server-最新版本.tar.gz
  1. 进入Nacos的bin目录:
bash 复制代码
cd nacos/bin
  1. Nacos运行支持单机和集群模式,若以单机模式运行(用于开发调试),执行:
bash 复制代码
sudo sh startup.sh -m standalone
  1. 运行后,在浏览器中访问http://localhost:8848/nacos(若WSL的IP地址不是localhost能访问,则用WSL的IP地址替代localhost),默认用户名和密码都是nacos

六、安装RabbitMQ

  1. 更新包列表:
bash 复制代码
sudo apt update
  1. 安装Erlang(RabbitMQ依赖Erlang):
bash 复制代码
sudo apt install -y erlang
  1. 添加RabbitMQ官方源:
bash 复制代码
echo "deb https://dl.bintray.com/rabbitmq/debian buster main" | sudo tee /etc/apt/sources.list.d/rabbitmq.list
  1. 导入RabbitMQ GPG密钥:
bash 复制代码
curl -fsSL https://dl.bintray.com/rabbitmq/KEY.gpg | sudo gpg --dearmor -o /usr/share/keyrings/rabbitmq.gpg
  1. 再次更新包列表:
bash 复制代码
sudo apt update
  1. 安装RabbitMQ服务器:
bash 复制代码
sudo apt install -y rabbitmq-server
  1. 启动RabbitMQ服务:
bash 复制代码
sudo systemctl start rabbitmq-server
  1. 设置RabbitMQ开机自启:
bash 复制代码
sudo systemctl enable rabbitmq-server
  1. 检查RabbitMQ状态:
bash 复制代码
sudo systemctl status rabbitmq-server
  1. (可选)启用管理插件以使用管理界面:
bash 复制代码
sudo rabbitmq-plugins enable rabbitmq_management

管理界面默认地址是http://localhost:15672,默认用户名和密码都是guest

七、安装RocketMQ

  1. 确保已安装Java运行环境。
  2. 下载RocketMQ。从官方仓库下载压缩包(假设下载最新版本,实际请根据最新版本调整):
bash 复制代码
wget https://archive.apache.org/dist/rocketmq/最新版本/rocketmq-最新版本-bin-release.zip
  1. 解压压缩包:
bash 复制代码
unzip rocketmq-最新版本-bin-release.zip
  1. 进入RocketMQ目录:
bash 复制代码
cd rocketmq-最新版本/bin
  1. 启动NameServer:
bash 复制代码
nohup sh mqnamesrv &
  1. 启动Broker(需先设置内存参数,避免因内存不足启动失败,例如设置较小内存):
bash 复制代码
export JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn64m"
nohup sh mqbroker -n localhost:9876 autoCreateTopicEnable=true &
  1. 可以使用官方提供的示例进行消息发送和接收测试。

八、安装Elasticsearch(ES)

  1. 下载Elasticsearch。从官方网站获取最新版本的压缩包(假设下载最新版本,实际请根据最新版本调整):
bash 复制代码
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-最新版本.tar.gz
  1. 解压压缩包:
bash 复制代码
tar -zxvf elasticsearch-最新版本.tar.gz
  1. 进入Elasticsearch目录:
bash 复制代码
cd elasticsearch-最新版本
  1. 由于Elasticsearch不允许以root用户启动,需要创建新用户并赋予权限(假设创建名为esuser的用户):
bash 复制代码
sudo useradd esuser
sudo chown -R esuser:esuser 你的Elasticsearch目录路径
  1. 切换到新用户并启动Elasticsearch:
bash 复制代码
su - esuser
./bin/elasticsearch
  1. 在浏览器中访问http://localhost:9200,若返回包含Elasticsearch版本等信息的JSON数据,说明安装成功。

九、安装Node.js

  1. 更新包列表:
bash 复制代码
sudo apt update
  1. 使用系统包管理器安装Node.js和npm(Node包管理器):
bash 复制代码
sudo apt install nodejs npm
  1. 查看Node.js和npm版本,验证安装:
bash 复制代码
node -v
npm -v

若显示版本号,即安装成功。

通过以上步骤,你已在WSL中成功安装了Java 11、Maven、Redis、MySQL、Nacos、RabbitMQ、RocketMQ、Elasticsearch和Node.js。在实际使用中,可能会遇到权限、依赖、端口占用等问题,可根据具体报错信息进行排查解决。如果还有其他软件安装需求或遇到安装难题,欢迎随时和我分享 。

相关推荐
MZ_ZXD00133 分钟前
flask校园学科竞赛管理系统-计算机毕业设计源码12876
java·spring boot·python·spring·django·flask·php
源代码•宸1 小时前
C++高频知识点(十三)
开发语言·c++·经验分享·面经
wa的一声哭了1 小时前
python基础知识pip配置pip.conf文件
java·服务器·开发语言·python·pip·risc-v·os
Kay_Liang2 小时前
MySQL SQL语句精要:DDL、DML与DCL的深度探究
开发语言·数据库·sql·mysql·database
钢铁男儿2 小时前
C# 接口(接口可以继承接口)
java·算法·c#
流形填表2 小时前
AI 助力:如何批量提取 Word 表格字段并导出至 Excel
开发语言·人工智能·word·excel·办公自动化
肉肉不想干后端2 小时前
分布式ID:基于K8s-PodName的百度雪花ID生成方案优化
java
每天吃饭的羊2 小时前
箭头函数(Arrow Functions)和普通函数(Regular Functions)
开发语言·javascript·ecmascript
寻觅~流光2 小时前
封装---统一封装处理页面标题
开发语言·前端·javascript·vue.js·typescript·前端框架·vue