官网:https://shenyu.apache.org/zh/
1、docker快速安装
docker pull apache/shenyu-admin
docker network create shenyu
docker run -d -p 9095:9095 -p 9090:9090 --net shenyu \
-e "shenyu.httpPath =http://【你的虚拟机ip】:9095" \
apache/shenyu-admin
docker pull apache/shenyu-bootstrap
docker run -d \
-p 9195:9195 \
--name shenyu-bootstrap \
--net shenyu \
--env SHENYU_SYNC_WEBSOCKET_URLS=ws://【你的虚拟机ip】:9095/websocket \
apache/shenyu-bootstrap
默认账号: admin
默认密码: 123456
2、简单入门
参考:https://www.cnblogs.com/qjwyss/p/16531825.html
jdk-17相关 github直接下载地址:https://github.com/apache/shenyu/releases/tag/v2.7.0
jdk-8相关的 下载:https://archive.apache.org/dist/incubator/shenyu/2.4.3
需要下载两个服务模块:admin和bootstrap
admin是用来进行后台管理的,bootstrap是真正的网关服务模块
admin相关的配置修改:
修改application.yml配置文件中的以下参数:
server:
port: 19095
address: 0.0.0.0
端口修改为19095,在windows下他原来的端口被占用了
spring:
application:
name: shenyu-admin
profiles:
active: mysql
active修改为mysql
shenyu:
httpPath: localhost:19095
需要添加httpPath: 【你部署admin的ip】:19095
admin部署完之后你登录的时候会出现一直进不去登陆页面的情况,查看接口后会发现它调用了一个奇怪的ip【在docker容器内是容器的ip】
修改application-mysql.yml配置文件中的以下参数:
spring:
datasource:
url: jdbc:mysql://192.168.176.129:3306/shenyu?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=convertToNull
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
修改为你本地的数据库
还有一个问题在启动的时候会报mysql链接的错,需要在ext-lib目录中添加mysql链接的jar包才行,详情可以查看这个issue:https://github.com/apache/shenyu/issues/5959
mysql8.0的链接jar:https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.18/mysql-connector-java-8.0.18.jar