最近在學 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 實例
數據庫的訪問也是沒有問題的