Skip to content

部署后配置

在安装完织信后,可能会需要对织信进行一些参数调整,比如根据负载情况调整线程池大小调整最大上传文件大小。本章节向您介绍织信安装后的目录结构,以及配置文件的结构。

织信部署目录结构

shell
│─informat-next
├─informat                           控制程序
├─jdk                                JDK
└─instance                           实例文件夹
  └─informat-account                Account实例
      └─application.yml             实例配置文件
      └─logback-spring.xml          实例日志配置文件
      └─informat-account-1.0.0.jar  实例运行jar包
      └─env.properties              环境变量配置
      └─pid                         程序运行后pid
  └─informat-biz                    Biz实例
      └─application.yml             实例配置文件
      └─logback-spring.xml          实例日志配置文件
      └─informat-biz-1.0.0.jar      实例运行jar包
      └─env.properties              环境变量配置
      └─pid                         程序运行后pid
└─log                                日志存放目录
  └─informat-xxx.log                实例日志

启动参数配置文件

启动配置文件application.yml用于配置和定制应用程序的行为。它提供了一种简单的方式来管理应用程序的属性和设置,而无需编写额外的代码。

应用配置

配置项描述
app.version应用程序的版本号。
server.port应用程序的服务器端口号。
server.tomcat.max-http-post-sizeTomcat允许的最大HTTP POST请求大小。如果设置为-1表示没有限制。
logging.config指定日志配置文件的位置。

Spring应用程序配置

配置项描述
spring.application.name应用程序的名称。
spring.application.serverId应用程序的服务器ID。多实例部署时,确保唯一。
spring.application.serverIp应用程序部署服务器IP,多服务器部署时,确保不重复。示例:192.168.10.53
spring.application.clusterName应用程序所属的集群名称。
spring.application.accountClusterName账户集群名称。
spring.application.intranetUrl访问Account服务的内部URL地址。
spring.application.asyncTaskCorePoolSize异步定时任务线程池核心线程数。
spring.application.asyncTaskMaximumPoolSize异步定时任务线程池最大线程数。
spring.application.asyncTaskQueueCapacity异步定时任务线程池工作队列的最大容量。当任务提交到线程池时,如果工作队列已满,则会抛出异常日志,拒绝任务。
spring.application.asyncSystemTaskCorePoolSize异步系统任务线程池核心线程数。
spring.application.asyncSystemTaskMaximumPoolSize异步系统任务线程池最大线程数。
spring.application.asyncSystemTaskQueueCapacity异步系统任务线程池工作队列的最大容量。
spring.application.disableMonitor不启用监控。
spring.main.allow-bean-definition-overriding是否允许覆盖Bean定义。
spring.main.allow-circular-references允许循环引用。
spring.main.register-shutdown-hook是否注册JVM关闭时的钩子。

TIP

如果 asyncTaskCorePoolSizeasyncTaskMaximumPoolSizeasyncTaskQueueCapacity 任意一个小于等于0,表示不启用异步任务(此三项只针对informat-biz系统有效,用于应用里的定时任务和系统内部异步任务)。

Servlet配置

配置项描述
spring.servlet.multipart.max-file-size上传文件的最大大小限制。
spring.servlet.multipart.max-request-size请求的最大大小限制。
spring.servlet.multipart.enabled是否启用文件上传功能。

Thymeleaf模板引擎配置

配置项描述
spring.thymeleaf.cache是否启用Thymeleaf模板缓存。
spring.thymeleaf.prefixThymeleaf模板文件的前缀路径。

数据源配置

配置项描述
spring.datasource.druid.url数据库连接URL。
spring.datasource.druid.type数据源的类型。
spring.datasource.druid.driver-class-name数据库驱动程序的类名。
spring.datasource.druid.initial-size指定初始连接池大小。
spring.datasource.druid.max-active指定连接池的最大活动连接数。
spring.datasource.druid.min-idle指定连接池的最小空闲连接数。
spring.datasource.druid.max-wait指定获取连接的最大等待时间(以毫秒为单位)。
spring.datasource.druid.pool-prepared-statements是否启用预编译语句池。
spring.datasource.druid.max-pool-prepared-statement-per-connection-size指定每个连接的最大预编译语句数。
spring.datasource.druid.time-between-eviction-runs-millis指定两次空闲连接回收的时间间隔(以毫秒为单位)。
spring.datasource.druid.min-evictable-idle-time-millis指定连接在连接池中最小空闲时间(以毫秒为单位)。
spring.datasource.druid.test-while-idle在空闲时验证连接的有效性。
spring.datasource.druid.test-on-borrow从连接池借用连接时是否进行有效性验证。
spring.datasource.druid.test-on-return归还连接到连接池时是否进行有效性验证。
spring.datasource.druid.validation-query指定用于验证连接的查询语句。
spring.datasource.druid.filters指定Druid连接池中的过滤器(仅使用统计过滤器)。
spring.datasource.druid.stat-view-servlet.enabled是否启用Druid统计信息的查看Servlet。
spring.datasource.druid.stat-view-servlet.allow指定允许访问Druid统计信息的IP地址(为空表示允许所有IP)。
spring.datasource.druid.stat-view-servlet.url-pattern指定Druid统计信息查看Servlet的URL模式。
spring.datasource.druid.stat-view-servlet.login-username指定Druid统计信息查看Servlet的登录用户名。
spring.datasource.druid.stat-view-servlet.login-password指定Druid统计信息查看Servlet的登录密码。
spring.datasource.druid.filter.stat.log-slow-sql是否启用慢查询日志。
spring.datasource.druid.filter.stat.slow-sql-millis定义慢查询的阈值(以毫秒为单位)。
spring.datasource.druid.filter.stat.merge-sql是否启用SQL合并。
spring.datasource.druid.filter.wall.config.multi-statement-allow是否允许执行多条SQL语句。
spring.datasource.druid.web-stat-filter.enabled是否启用Druid的Web统计过滤器。
spring.datasource.druid.web-stat-filter.url-pattern指定Web统计过滤器的URL模式。
spring.datasource.druid.web-stat-filter.exclusions指定要排除的URL模式,不进行统计。
spring.datasource.druid.web-stat-filter.session-stat-enable是否启用Session统计。
spring.datasource.druid.web-stat-filter.session-stat-max-count指定保存的Session统计最大数量。

Redis配置

配置项描述
spring.redis.databaseRedis数据库索引。
spring.redis.hostRedis服务器的主机。
spring.redis.portRedis服务器的端口。
spring.redis.passwordRedis密码。
spring.redis.timeout与Redis服务器建立连接的超时时间(以毫秒为单位)。
spring.redis.lettuce.pool.max-activeLettuce连接池的最大活动连接数。
spring.redis.lettuce.pool.max-wait从Lettuce连接池获取连接的最大等待时间(-1表示无限等待)。
spring.redis.lettuce.pool.max-idleLettuce连接池的最大空闲连接数。
spring.redis.lettuce.pool.min-idleLettuce连接池的最小空闲连接数。

RabbitMQ配置

配置项描述
spring.rabbitmq.portRabbitMQ服务器的端口。
spring.rabbitmq.hostRabbitMQ服务器的主机名。
spring.rabbitmq.nicknameRabbitMQ的昵称。
spring.rabbitmq.usernameRabbitMQ的用户名。
spring.rabbitmq.passwordRabbitMQ的密码。
spring.rabbitmq.publisher-confirm-typeRabbitMQ的发布者确认类型。
spring.rabbitmq.publisher-returns是否启用RabbitMQ的发布者返回。
spring.rabbitmq.virtual-hostRabbitMQ的虚拟主机。
spring.rabbitmq.listener.simple.acknowledge-modeRabbitMQ监听器的确认模式。
spring.rabbitmq.listener.template.mandatoryRabbitMQ模板在消息发送过程中是否应该要求一个强制的路由匹配。

Elasticsearch配置

配置项描述
spring.elasticsearch.cluster-nameElasticsearch集群的名称。
spring.elasticsearch.cluster-nodesElasticsearch集群的节点地址。

TIP

Elasticsearch配置只针对informat-biz系统有效,用于搜素引擎模块

配置项描述
spring.mail.hostSMTP 服务器的主机名或 IP 地址。
spring.mail.portSMTP 服务器的端口号。
spring.mail.usernameSMTP 服务器的用户名,用于身份验证。
spring.mail.passwordSMTP 服务器的密码,用于身份验证。
spring.mail.protocol邮件传输协议,通常为 "smtp" 或 "smtps"。
spring.mail.default-encoding默认字符编码,用于邮件消息的文本内容。
spring.mail.properties.mail.smtp.auth指定是否需要身份验证,通常设置为 "true"。
spring.mail.properties.mail.smtp.starttls.enable启用或禁用 STARTTLS 支持,通常设置为 "true"。
spring.mail.properties.mail.smtp.starttls.required指定是否需要 STARTTLS,通常设置为 "true"。
spring.mail.properties.mail.smtp.ssl.enable启用或禁用 SSL 支持,通常设置为 "true"。
spring.mail.properties.mail.smtp.ssl.trust信任的 SSL 证书的主机名。
spring.mail.properties.mail.smtp.ssl.socketFactory.class配置SMTP服务器的SSL/TLS连接时所使用的SocketFactory类。
spring.mail.properties.mail.smtp.ssl.socketFactory.fallback配置SSL/TLS套接字工厂(SocketFactory)的回退行为。
spring.mail.properties.mail.debug启用或禁用调试模式,通常设置为 "true" 以便在控制台中查看详细日志。
spring.mail.default-headers.from默认邮件消息的发件人地址。
spring.mail.default-headers.reply-to默认邮件消息的回复地址。
spring.mail.default-headers.to默认邮件消息的收件人地址。
spring.mail.default-headers.cc默认邮件消息的抄送地址。

日志配置文件

日志配置文件logback-spring.xml ,允许开发者定义日志输出格式、日志级别、日志输出目的地(如文件、控制台等)以及日志滚动策略等。通过这个文件,可以灵活地管理和控制应用的日志记录行为,确保日志信息的有效性和可读性,从而有助于故障排查和性能监控。

如何修改日志级别?

默认日志级别为INFO

  • 修改日志级别

找到root标签,修改level即可

xml
<root level="INFO">
    <appender-ref ref="file" />
</root>

TIP

Logback 日志级别主要有以下几种选择,从高到低依次为:

  • ERROR:用于记录错误事件,这些事件可能会导致程序的某些功能无法正常运行。
  • WARN:用于记录警告信息,这些信息表示潜在的问题,但不会立即影响程序的运行。
  • INFO:用于记录一般信息,如程序的运行状态、关键步骤等。
  • DEBUG:用于记录调试信息,这些信息主要用于开发和调试阶段,以帮助开发者了解程序的内部状态。
  • TRACE:用于记录更细粒度的调试信息,比 DEBUG 级别更详细,通常用于跟踪程序的执行流程。

织信服务重启

shell
systemctl restart informat-account
systemctl restart informat-biz

织信其它组件的安装路径和配置

消息队列 rabbitmq

  • 安装目录: /usr/lib/rabbitmq
  • 配置文件: /etc/rabbitmq/rabbitmq.conf

TIP

RabbitMQ 可能没有安装默认的主配置文件 /etc/rabbitmq/rabbitmq.conf,因为它在安装时不是必需的。但是,你可以手动创建此文件来进行自定义配置。 你可以按照以下步骤创建 /etc/rabbitmq/rabbitmq.conf 文件:

redis

  • 安装目录: /usr/local/redis
  • 配置文件:/usr/local/redis/bin/redis.conf
  • 日志文件:/var/log/redis/redis.log

数据库

  • 安装目录: /usr/pgsql-13
  • 配置文件: data/pgsql/data/postgresql.conf
  • 日志文件:/data/pgsql/data/log/

示例:定时备份

可以使用Linux Cron表达式实现定时备份数据库的功能 每天凌晨2点备份数据库

shell
0 2 * * * /informat-next/backup_database.sh

backup_database.sh脚本如下

shell
#!/bin/bash
current=`date "+%Y%m%d%H%M%S"`
bake=backup_db/$current
mkdir -p $bake
export PGPASSWORD="{数据库密码}"
pg_dump -h 127.0.0.1 -O -p 5432 -U postgres  -d db_informat2_account_prd >  $bake/db_informat2_account_prd.sql
pg_dump -h 127.0.0.1 -O -p 5432 -U postgres  -d db_informat2_biz_prd_0 >  $bake/db_informat2_biz_prd_0.sql

nginx

  • 安装目录: /usr/sbin/nginx
  • 配置文件: /etc/nginx/nginx.conf
  • 日志文件:/var/log/nginx/

TIP

如果需要修改 Nginx 的默认配置,可以编辑 /etc/nginx/nginx.conf 和 /etc/nginx/conf.d/*.conf 文件。编辑完成后,使用 systemctl restart nginx 命令重启 Nginx 使配置生效。

minio

  • 安装目录: /data/minio_home/
  • 配置文件:/data/minio_home/minio.conf

Elasticsearch

  • 安装目录: /data/elasticsearch-{version}/
  • 配置文件: /data/elasticsearch-{version}/config/*.yml

onlyoffice

  • 安装目录: /var/www/onlyoffice/DocumentServer
  • 配置文件:/etc/onlyoffice/documentserver/default.json