Appearance
部署后配置
在安装完织信后,可能会需要对织信进行一些参数调整,比如根据负载情况调整线程池大小
、调整最大上传文件大小
。本章节向您介绍织信安装后的目录结构,以及配置文件的结构。
织信部署目录结构
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-size | Tomcat允许的最大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
如果 asyncTaskCorePoolSize
、asyncTaskMaximumPoolSize
、asyncTaskQueueCapacity
任意一个小于等于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.prefix | Thymeleaf模板文件的前缀路径。 |
数据源配置
配置项 | 描述 |
---|---|
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.database | Redis数据库索引。 |
spring.redis.host | Redis服务器的主机。 |
spring.redis.port | Redis服务器的端口。 |
spring.redis.password | Redis密码。 |
spring.redis.timeout | 与Redis服务器建立连接的超时时间(以毫秒为单位)。 |
spring.redis.lettuce.pool.max-active | Lettuce连接池的最大活动连接数。 |
spring.redis.lettuce.pool.max-wait | 从Lettuce连接池获取连接的最大等待时间(-1表示无限等待)。 |
spring.redis.lettuce.pool.max-idle | Lettuce连接池的最大空闲连接数。 |
spring.redis.lettuce.pool.min-idle | Lettuce连接池的最小空闲连接数。 |
RabbitMQ配置
配置项 | 描述 |
---|---|
spring.rabbitmq.port | RabbitMQ服务器的端口。 |
spring.rabbitmq.host | RabbitMQ服务器的主机名。 |
spring.rabbitmq.nickname | RabbitMQ的昵称。 |
spring.rabbitmq.username | RabbitMQ的用户名。 |
spring.rabbitmq.password | RabbitMQ的密码。 |
spring.rabbitmq.publisher-confirm-type | RabbitMQ的发布者确认类型。 |
spring.rabbitmq.publisher-returns | 是否启用RabbitMQ的发布者返回。 |
spring.rabbitmq.virtual-host | RabbitMQ的虚拟主机。 |
spring.rabbitmq.listener.simple.acknowledge-mode | RabbitMQ监听器的确认模式。 |
spring.rabbitmq.listener.template.mandatory | RabbitMQ模板在消息发送过程中是否应该要求一个强制的路由匹配。 |
Elasticsearch配置
配置项 | 描述 |
---|---|
spring.elasticsearch.cluster-name | Elasticsearch集群的名称。 |
spring.elasticsearch.cluster-nodes | Elasticsearch集群的节点地址。 |
TIP
Elasticsearch配置只针对informat-biz系统有效,用于搜素引擎模块
配置项 | 描述 |
---|---|
spring.mail.host | SMTP 服务器的主机名或 IP 地址。 |
spring.mail.port | SMTP 服务器的端口号。 |
spring.mail.username | SMTP 服务器的用户名,用于身份验证。 |
spring.mail.password | SMTP 服务器的密码,用于身份验证。 |
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