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为例),更新软件包列表:

sudo apt update

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

sudo apt install openjdk-11-jdk

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

java --version

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

二、安装Maven

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

sudo apt update
sudo apt install maven

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

mvn --version

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

三、安装Redis

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

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

四、安装MySQL

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

根据提示设置密码为12345678,并移除匿名用户等。
4. 打开MySQL命令行:

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

至此,MySQL安装完成。

五、安装Nacos

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

六、安装RabbitMQ

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

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

七、安装RocketMQ

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

八、安装Elasticsearch(ES)

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

九、安装Node.js

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/news/907835.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue3: baidusubway using typescript

项目结构&#xff1a; <!--npm install -D tailwindcss-3d BaiduSubwayMap.vue npm install -D tailwindcss postcss autoprefixer--> <template><div class"relative w-full h-screen"><!-- 地图容器 --><div id"subway-container…

【iptables防火墙】-- URL过滤 (Hexstring、IP、DoT和DoH)

在路由器中使用iptables工具对URL地址进行过滤涉及到如下几个方面&#xff0c;hexstring、ip、DoT和DoH。 以过滤www.baidu.com为例 1、DNS阻断 m string --hex-string是iptables中一个以​十六进制格式​定义要匹配的二进制特征并且支持混合明文和二进制数据的模块。由于DN…

mysql-本地编译 MySQL 源码

完全理解你的感受&#xff01;MySQL 源码本地调试确实是一个“坑多”的过程&#xff0c;尤其是当你第一次尝试从源码构建和调试 MySQL 时。但别担心&#xff0c;我来一步步帮你梳理整个流程&#xff0c;并提供一个详细、可操作的指南&#xff0c;让你可以顺利跑起来 MySQL 源码…

深入理解 shared_ptr 与 enable_shared_from_this

在 C++ 的智能指针体系中,std::shared_ptr 是一个非常重要的工具,它通过引用计数机制帮助我们管理动态分配的对象生命周期,避免内存泄漏。然而,在某些情况下,我们可能需要从一个对象内部获取指向自身的 shared_ptr,这时候就需要使用 std::enable_shared_from_this 这个辅…

通义开源视觉感知多模态 RAG 推理框架 VRAG-RL:开启多模态推理新时代

通义实验室的自然语言智能团队&#xff0c;凭借深厚的技术积累与创新精神&#xff0c;成功研发并开源了视觉感知多模态 RAG 推理框架 VRAG-RL&#xff0c;为 AI 在复杂视觉信息处理领域带来了重大突破。 传统 RAG 方法的局限 传统的检索增强型生成&#xff08;RAG&#xff0…

【iOS】方法交换

方法交换 method-swizzling是什么相关API方法交换的风险method-swizzling使用过程中的一次性问题在当前类中进行方法交换类方法的方法交换 方法交换的应用 method-swizzling是什么 method-swizzling的含义是方法交换&#xff0c;他的主要作用是在运行的时候将一个方法的实现替…

Python - 爬虫;Scrapy框架之插件Extensions(四)

阅读本文前先参考 https://blog.csdn.net/MinggeQingchun/article/details/145904572 在 Scrapy 中&#xff0c;扩展&#xff08;Extensions&#xff09;是一种插件&#xff0c;允许你添加额外的功能到你的爬虫项目中。这些扩展可以在项目的不同阶段执行&#xff0c;比如启动…

95套HTML高端大数据可视化大屏源码分享

概述​​ 在大数据时代&#xff0c;数据可视化已成为各行各业的重要需求。这里精心整理了95套高端HTML大数据可视化大屏源码&#xff0c;这些资源采用现代化设计风格&#xff0c;可帮助开发者快速构建专业的数据展示界面。 ​​主要内容​​ ​​1. 设计风格与特点​​ 采用…

redis未授权(CVE-2022-0543)

概述 Redis 默认绑定在 0.0.0.0:6379&#xff0c;在未配置防火墙或访问控制的情况下会将服务暴露在公网上。若未设置访问密码&#xff08;默认通常为空&#xff09;&#xff0c;攻击者可直接未授权访问 Redis。利用 Redis 提供的 CONFIG 命令&#xff0c;攻击者可修改配置并将…

(面试)OkHttp实现原理

OkHttp 是一个高效的 HTTP 客户端&#xff0c;被广泛应用于 Android 和 Java 应用中。它提供了许多强大的特性&#xff0c;例如连接池、透明的 GZIP 压缩、HTTP/2 支持等。理解 OkHttp 的实现原理有助于更好地使用和调试它。 以下是 OkHttp 的一些核心实现原理&#xff1a; 1…

Netty 实战篇:构建简易注册中心,实现服务发现与调用路由

本文将为前面构建的轻量级 RPC 框架添加“服务注册与发现”功能&#xff0c;支持多服务节点动态上线、自动感知与调用路由&#xff0c;为构建真正可扩展的分布式系统打好基础。 一、背景&#xff1a;为什么需要注册中心&#xff1f; 如果每个客户端都硬编码连接某个 IP/端口的…

c++之分支

深入理解 C 分支结构&#xff1a;从基础到实战 在 C 编程的世界里&#xff0c;分支结构是控制程序流程的重要手段&#xff0c;它赋予程序 “思考” 和 “选择” 的能力&#xff0c;让程序能够根据不同的条件执行不同的代码块。本文将带大家深入探索 C 分支结构&#xff0c;结合…

LLMs之MCP:如何使用 Gradio 构建 MCP 服务器

LLMs之MCP&#xff1a;如何使用 Gradio 构建 MCP 服务器 导读&#xff1a;本文详细介绍了如何使用Gradio构建MCP服务器&#xff0c;包括前提条件、构建方法、关键特性和相关资源。通过一个简单的字母计数示例&#xff0c;演示了如何将Gradio应用转换为LLM可以使用的工具。Gradi…

ubuntu20.04.5-arm64版安装robotjs

ubuntu20.04.5arm上使用robotjs #ssh&#xff0c;可选 sudo apt update sudo apt install openssh-server sudo systemctl status ssh sudo systemctl enable ssh sudo systemctl enable --now ssh #防火墙相关&#xff0c;可选 sudo ufw allow ssh sudo ufw allow 2222/tc…

craw4ai 抓取实时信息,与 mt4外行行情结合实时交易,基本面来觉得趋势方向,搞一个外汇交易策略

结合实时信息抓取、MT4行情数据、基本面分析的外汇交易策略框架&#xff0c;旨在通过多维度数据融合提升交易决策质量&#xff1a;行不行不知道先试试&#xff0c;理论是对的&#xff0c;只要基本面方向没错 策略名称&#xff1a;Tri-Sync 外汇交易系统 核心理念 「基本面定方…

Python中scapy库详细使用(强大的交互式数据包操作程序和库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、scapy概述1.1 scapy介绍1.2 安装1.3 交互模式1.4 安全注意事项二、基本使用2.1 数据包构造基础2.2 数据包发送2.3 数据包嗅探2.4 数据包分析与操作2.5 网络扫描技术2.6 协议实现示例三、高级功能3.1 数据包重放3.2 …

基于Web的濒危野生动物保护信息管理系统设计(源码+定制+开发)濒危野生动物监测与保护平台开发 面向公众参与的野生动物保护与预警信息系统

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

[SAP] 矩阵复制(Matrix Copy)

SAP中的复制粘贴功能被称为矩阵复制&#xff0c;通过点击对话框或屏幕&#xff0c;并执行下述命令&#xff0c;使用矩阵复制就可以复制多行文本 ① 按下Ctrl-Y&#xff0c;从左上到右下拖拉鼠标来选择文本 ② 文本高亮显示后&#xff0c;按下Ctrl-C ③ 移到新的位置插入文本…

【笔记】在 MSYS2(MINGW64)中安装 Python 工具链的记录

#工作记录 &#x1f4cc; 安装背景 操作系统&#xff1a;MSYS2 MINGW64当前时间&#xff1a;2025年6月1日Python 版本&#xff1a;3.12&#xff08;默认通过 pacman 安装&#xff09;目标工具链&#xff1a; pipxnumpypipsetuptoolswheel &#x1f6e0;️ 安装过程与结果记录…

OpenCV CUDA模块结构分析与形状描述符------在 GPU 上计算图像的原始矩(spatial moments)函数spatialMoments()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 该函数用于在 GPU 上计算图像的原始矩&#xff08;spatial moments&#xff09;。这些矩可用于描述图像中物体的形状特征&#xff0c;如面积、质…