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。在实际使用中,可能会遇到权限、依赖、端口占用等问题,可根据具体报错信息进行排查解决。如果还有其他软件安装需求或遇到安装难题,欢迎随时和我分享 。

相关推荐
小马爱打代码1 分钟前
设计模式:观察者模式 - 实战
java·观察者模式·设计模式
txz20356 分钟前
1,QT的编译教程
开发语言·数据库·qt
yy_xzz13 分钟前
Qt 窗口标志(Window Flags)详解:控制窗口样式与行为
开发语言·qt
失败尽是常态Z14 分钟前
基于JWT+Redis的登录流程实现
java·数据库·redis·状态模式·jwt·用户登录
快乐肚皮15 分钟前
Redisson学习专栏(二):核心功能深入学习(分布式锁,分布式集合,原子操作与计数器,事件与监听)
java·分布式·分布式锁·redisson·事件·分布式集合·原子
即安莉20 分钟前
ESP8266远程控制:实现网络通信与设备控制
开发语言·stm32·单片机·嵌入式硬件·php
Mr YiRan24 分钟前
Kotlin委托机制使用方式和原理
android·开发语言·kotlin
Rachelhi32 分钟前
C++高级编程深度指南:内存管理、安全函数、递归、错误处理、命令行参数解析、可变参数应用与未定义行为规避
开发语言·c++
码上飞扬34 分钟前
Java大师成长计划之第35天:未来展望与个人总结
java·开发语言
cici1587439 分钟前
C#进阶-ASP.NET WebForms调用ASMX的WebService接口
开发语言·c#·asp.net