4

Solon2 之基础:一、常用应用配置说明 - 带刺的坐椅

 1 year ago
source link: https://www.cnblogs.com/noear/p/17149477.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

约定参考:

//资源路径约定(不用配置;也不能配置)
resources/app.yml( 或 app.properties ) #为应用配置文件

resources/WEB-INF/static/ #为静态文件根目标
resources/WEB-INF/view/   #为视图模板文件根目标(支持多视图共存)

1、服务端基本属性

#服务端口(默认为8080)
server.port: 8080
#服务主机(ip)
server.host: "0.0.0.0"
#服务包装端口(默认为 ${server.port})//v1.12.1 后支持  //一般用docker + 服务注册时才可能用到
server.wrapPort: 8080
#服务包装主机(ip)//v1.12.1 后支持
server.wrapHost: "0.0.0.0"
#服务上下文路径
server.contextPath: "/test-service/" #v1.11.2 后支持

#服务 http 信号名称,服务注册时可以为信号指定名称(默认为 ${solon.app.name})
server.http.name: "waterapi"
#服务 http 信号端口(默认为 ${server.port})
server.http.port: 8080
#服务 http 信号主机(ip)
server.http.host: "0.0.0.0"
#服务 http 信号包装端口 //v1.12.1 后支持  //一般用docker + 服务注册时才可能用到
server.http.wrapPort: 8080
#服务 http 信号包装主机(ip)//v1.12.1 后支持
server.http.wrapHost: "0.0.0.0"
#服务 http 最小线程数(默认:0表示自动,支持固定值 16 或 倍数 x16)//v1.10.13 后支持
server.http.coreThreads: 0 
#服务 http 最大线程数(默认:0表示自动,支持固定值 16 或 倍数 x16) //v1.10.13 后支持
server.http.maxThreads: 0
#服务 http 闲置线程超时(0表示自动,单位毫秒) //v1.10.13 后支持
server.http.idleTimeout: 0
#服务 http 是否为IO密集型? //v1.12.2 后支持
server.http.ioBound: true

#服务 socket 信号名称,服务注册时可以为信号指定名称(默认为 ${solon.app.name})
server.socket.name: "waterapi.tcp"
#服务 socket 信号端口(默认为 20000+${server.port})
server.socket.port: 28080
#服务 socket 信号主机(ip)
server.socket.host: "0.0.0.0"
#服务 socket 信号包装端口 //v1.12.1 后支持  //一般用docker + 服务注册时才可能用到
server.socket.wrapPort: 28080
#服务 socket 信号包装主机(ip)//v1.12.1 后支持
server.socket.wrapHost: "0.0.0.0"
#服务 socket 最小线程数(默认:0表示自动,支持固定值 16 或 倍数 x16)) //v1.10.13 后支持
server.socket.coreThreads: 0 
#服务 socket 最大线程数(默认:0表示自动,支持固定值 16 或 倍数 x16)) //v1.10.13 后支持
server.socket.maxThreads: 0
#服务 socket 闲置线程超时(0表示自动,单位毫秒)) //v1.10.13 后支持
server.socket.idleTimeout: 0
#服务 socket 是否为IO密集型? //v1.12.2 后支持
server.socket.ioBound: true


#服务 websocket 信号名称,服务注册时可以为信号指定名称(默认为 ${solon.app.name})
server.websocket.name: "waterapi.ws"
#服务 websocket 信号端口(默认为 10000+${server.port})
server.websocket.port: 18080
#服务 websocket 信号主机(ip)
server.websocket.host: "0.0.0.0"
#服务 websocket 信号包装端口 //v1.12.1 后支持  //一般用docker + 服务注册时才可能用到
server.websocket.wrapPort: 18080
#服务 websocket 信号包装主机(ip)//v1.12.1 后支持
server.websocket.wrapHost: "0.0.0.0"
#服务 websocket 最小线程数(默认:0表示自动,支持固定值 16 或 倍数 x16)) //v1.10.13 后支持
server.websocket.coreThreads: 0 
#服务 websocket 最大线程数(默认:0表示自动,支持固定值 16 或 倍数 x16)) //v1.10.13 后支持
server.websocket.maxThreads: 0
#服务 websocket 闲置线程超时(0表示自动,单位毫秒)) //v1.10.13 后支持
server.websocket.idleTimeout: 0
#服务 websocket 是否为IO密集型? //v1.12.2 后支持
server.websocket.ioBound: true

关于包装主机与包装端口的说明:

  • 比如,服务在docker里运行,就相当于被docker包装了一层。
  • 此时,要向外部注册服务,就可能需要使用包装主机与包装端口。

2、请求会话相关

#设定最大的请求包大小(或表单项的值大小)
server.request.maxBodySize: 2mb #kb,mb
#设定最大的上传文件大小
server.request.maxFileSize: 20mb #kb,mb (默认使用 maxBodySize 配置值)
#设定最大的请求头大小
server.request.maxHeaderSize: 200kb #kb,mb
#设定请求体编码
server.request.encoding: "utf-8"

#设定响应体编码
server.response.encoding: "utf-8"

#设定会话超时秒数(单位:秒)
server.session.timeout: 7200 
#设定会话id的cookieName
server.session.cookieName: "SOLONID"
#设定会话状态的cookie域(默认为当前域名)
server.session.state.domain: noear.org

3、服务端SSL证书配置属性(https)

#设定SSL证书(支持:solon.boot.jdkhttp 或 solon.boot.jlhttp 或 solon.boot.smarthttp 或 solon.boot.jetty 或 solon.boot.undertow)
server.ssl.keyStore: "demo.jks" #或 "demo.pfx"
server.ssl.keyPassword: "demo"

注意:添加 ssl 证书后,应用的 "server.port" 端口只能用 https 来访问。

4、应用基本属性

#应用名称
solon.app.name: "waterapi"
#应用组
solon.app.group: "water"
#应用命名空间(一般用不到,只有支持的组件才用)
solon.app.namespace: "demo"
#应用标题
solon.app.title: "WATER"

#应用体外扩展目录
solon.extend: "ext"

#应用体外扩展配置(用于指定外部配置。策略:先加载内部的,再加载外部的盖上去)
solon.config: "./app.yml"

#应用元信息输出开启(输出每个插件的信息)
solon.output.meta: 1

5、应用环境配置切换

#应用环境配置(主要用于切换包内不同的配置文件)
solon.env: dev

#例:
# app.yml      #应用主配置(必然会加载)
# app-dev.yml  #应用dev环境配置
# app-pro.yml  #应用pro环境配置
#
#启动时:java -Dsolon.env=pro -jar demo.jar 或者 java -jar demo.jar --env=pro

6、调试模式控制

solon.debug:
  enableCaching: false
  enableTransaction: true

7、视图后缀与模板引擎的映射配置

#默认约定的配置(不需要配置,除非要修改)
solon.view.mapping.htm: BeetlRender #简写
solon.view.mapping.shtm: EnjoyRender
solon.view.mapping.ftl: FreemarkerRender
solon.view.mapping.jsp: JspRender
solon.view.mapping.html: ThymeleafRender

#添加自义定映射时,需要写全类名
solon.view.mapping.vm: org.noear.solon.view.velocity.VelocityRender #全名(一般用简写)

8、安全停止配置

solon.stop.safe: 0   #安全停止(0或1)//(v2.1.0 后支持;之前只能用接口启用)
solon.stop.delay: 10   #安全停止的延时秒数(默认10秒)

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK