• 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秒)
    
  • 相关阅读:
    1025 反转链表
    序列化多表操作、请求与响应、视图组件(子类与拓展类)、继承GenericAPIView类重写接口
    分布式事务保姆级教程
    Ubuntu开机后图像化界面消失只有命令行界面
    SSH框架(Struts2+Spring+Hibernate)搭建整合详细步骤
    详细解读 React useCallback &useMemo
    Mac安装brew、mysql、redis
    postman环境变量的设置
    初见QT,控件的基本应用,实现简单登录窗口
    Linux基础——ELK Stack
  • 原文地址:https://www.cnblogs.com/noear/p/17149477.html