2.1.建立其它子Module
父项目上右键,选择 New... --> Other...
在 Select a wizard 窗口中找到 Maven 下的 Maven Module,选中后点击 Next 。
在 New Maven Module 窗口中勾选 Create a simple project.输入项目名称,点击 Next 按钮。
【建议】项目名称起名规范,如果是公用的,即该模块也可以在其它项目中使用,以 pub- 为前缀,如果不是,以父项目名称加 - 为前缀,如:union-task
输入子模块相关信息后,再点完Finsh。
2.2.建立配置文件
在resoutce文件夹下建立 application.xml文件,内容如下:
server:
port: 18851
spring:
application:
name: pub-ip-query
messages:
basename: i18n.messages
# datasource:
# driver-class-name: com.mysql.cj.jdbc.Driver
# url: jdbc:mysql://localhost:3306/jyedu?useSSL=false&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
# username: root
# password:
# jpa:
# generate-ddl: false
# hibernate:
# ddl-auto: none
# naming:
# physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
# show-sql: true
# database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
jackson:
time-zone: GMT+8
serialization:
indent-output: true
#日期格式化
date-format: yyyy-MM-dd HH:mm:ss
defaultPropertyInclusion: NON_EMPTY
cloud:
nacos:
discovery:
server-addr: 192.168.6.31:8848 #Nacos服务注册中心地址
namespace: public
username: nacos
password: nacos
config:
server-addr: 192.168.6.31:8848 #Nacos作为配置中心地址
登录 Nacos ,修改 gateway.yml。每增加一个子模块,就增加一个 id 块。如下面的配置,增加了 union-task 子模块。注意格式和对齐。复制修改即可。
spring:
cloud:
gateway:
routes:
- id: pub-ip-query
predicates:
- Query=ip
- Path=/pub-ip-query/**
uri: lb://pub-ip-query
filters:
- StripPrefix=1
- id: union-task
predicates:
- Query=ip
- Path=/union-task/**
uri: lb://union-task
filters:
- StripPrefix=1
2.3 编写业务代码
2.4 布署
此时在开发环境应可以直接运行,nacos也应能看见服务上线。
如果想进行服务器布署,参考上一篇的方法,生成jar上传到服务器上运行即可。我们可以把下面这个目录复制一份。
更换 pub-ip-query 下的jar文件,并且修改 bin/startup.sh 和 bin/shutdown.sh 中的路径。
shutdown.sh同样修改一下
再根据需要修改 application.yml文件(必须把端口号和应用名称改掉)。
如果有bootstrap,比如连接了数据库,使用了jpa,还需建立bootstrap.yml文件。
spring:
cloud:
nacos:
config:
extension-configs:
- data-id: com.lerx.unaid.gateway.yml
refresh: true
file-extension: yaml
refresh-enabled: true
server-addr: 192.168.6.31:8848
discovery:
server-addr: 192.168.6.31:8848
【提示】最后说明一下为什么命名要有一定的规律。
在服务器上布署成启动服务时,可能会有很多很多子服务,有时很难查看。如果我们命名规范的话,可以采用ls命令一看子找出自己的这些服务。如下面的的服务,当时就是以misrv-为前缀的,一个命令就能把所有的相关服务都找出来了。
ls /usr/lib/systemd/system/mi*