最近在学 spring cloud,学到 eureka,发现 idea 现在在复制实例的时候支持复制到 WSL 了,于是就自己摸索了一下。
WSL 的配置#
如果你不知道什么是 WSL,或者你还没有安装 WSL,请自行百度。
以下内容基于 Ubuntu20,其他版本请自行替换命令。
安装 jdk#
如果没有 JDK,你就无法在你的 WSL 环境下运行 spring boot 或者 cloud 项目,因此,安装 jdk 是第一步
Ubuntu 安装 jdk 的步骤相比于 Windows 来说要简单很多,不需要配环境变量,一行命令即可
apt install openjdk-8-jre-headless #安装openjdk 8
安装完成后使用
java -version #查看版本
配置 jdk 路径#
安装完成后需要在 idea 配置 WSL 的 jdk 路径
默认配置为
/usr/lib/jvm/java-8-openjdk-amd64
复制的实例配置#
选择一个运行在本地 Windows 的实例,右键 copy configuration 即可复制该实例
接下来要修改复制的实例的配置信息,比如端口,如果不修改则会端口冲突。
推荐配置信息写成 application.properties 格式,方便复制
在 VM options 配置端口,快捷键Alt
+ V
-Dserver.port=8082 #使用8082覆盖原始端口
在 Program arguments 配置 eureka 和数据库信息,快捷键Alt
+ R
#192.168.0.192修改成本地Windows的IP地址 10086修改为eureka配置的端口
--eureka.client.service-url.defaultZone=http://192.168.0.192:10086/eureka
#修改数据库配置
--spring.datasource.url=jdbc:mysql://192.168.0.192:3306/cloud_user?useSSL=false
--spring.datasource.username=root
--spring.datasource.password=root
--spring.datasource.driver-class-name=com.mysql.jdbc.Driver
注意事项#
如果你想测试下能否访问 Windows 下的 MySQL 数据库,可以安装 MySQL
apt-get install mysql-server
然后使用 MySQL 的远程访问测试
mysql -h 192.168.0.192 -uroot -p
如果提示超时,则需要开放 Windows 的 3306 端口
打开 Windows 防火墙,在入站规则的右边选择新建规则
选择端口
输入 MySQL 默认端口 3306
然后下一步,下一步默认即可。
总结#
可以看到 eureka 已经发现了 2 个 userservice 实例了,一个 Windows 实例一个 WSL 实例
数据库的访问也是没有问题的