Solon2 之基础:一、常用应用配置说明

约定参考:

//资源路径约定(不用配置;也不能配置)
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秒)
有什么问题吗:INFO 2023-07-22 23:43:48.754 [-main][*][o.noear.solon.Solon]: App: Plugin starting INFO 2023-07-22 23:43:48.937 [-main][*][o.noear.solon.Solon]: Session: Local session state plugin is loaded INFO 2023-07-22 23:43:49.256 [-main][*][o.noear.solon.Solon]: View: load: FreemarkerRender INFO 2023-07-22 23:43:49.258 [-main][*][o.noear.solon.Solon]: View: load: org.noear.solon.view.freemarker.FreemarkerRender INFO 2023-07-22 23:43:49.258 [-main][*][o.noear.solon.Solon]: View: mapping: .ftl=FreemarkerRender INFO 2023-07-22 23:43:49.292 [-main][*][o.noear.solon.Solon]: App: Bean scanning INFO 2023-07-22 23:43:50.099 [-main][*][o.noear.solon.Solon]: View: mapping: .html=FreemarkerRender INFO 2023-07-22 23:43:50.995 [-main][*][o.noear.solon.Solon]: Connector:main: undertow: Started ServerConnector@{HTTP/1.1,[http/1.1]}{http://localhost:8080} INFO 2023-07-22 23:43:50.995 [-main][*][o.noear.solon.Solon]: Server:main: undertow: Started (undertow 2.2.24/2.3.8) @893ms INFO 2023-07-22 23:43:50.997 [-main][*][o.noear.solon.Solon]: View: mapping: @json=StringSerializerRender#SnackSerializer INFO 2023-07-22 23:43:50.997 [-main][*][o.noear.solon.Solon]: View: mapping: @type_json=StringSerializerRender#SnackSerializer INFO 2023-07-22 23:43:56.851 [-main][*][c.c.c.InitConfig]: nginxIsRun:false INFO 2023-07-22 23:43:56.899 [-main][*][c.c.c.InitConfig]: runCmd:nginx -c /home/nginxWebUI/nginx.conf INFO 2023-07-22 23:43:57.055 [-main][*][c.c.c.InitConfig]: _ _ __ __ __ __ ____ ____ ____ _ (_)____ _ __| | / /___ / /_ / / / // _/ / __ \ / __ `// // __ \ | |/_/| | /| / // _ \ / __ \ / / / / / / / / / // /_/ // // / / /_> < | |/ |/ // __// /_/ // /_/ /_/ / /_/ /_/ \__, //_//_/ /_//_/|_| |__/|__/ \___//_.___/ \____//___/ /____/
07-23
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值