Skip to content

配置说明

完整配置文件

ini
[app]
JwtSecret = message-nest
; 暂时无用
RuntimeRootPath = runtime/
LogLevel = INFO

[server]
; debug or release
; debug模式下会自动添加跨域headers
RunMode = release
HttpPort = 8000
ReadTimeout = 60
WriteTimeout = 60
; use embed html static file
; 是否使用embed打包的静态资源
; 如果运行release打包后的应用,请注释这个设置。
; 如果取消这个注释,只会单独运行api服务,前端页面需要到web目录手动npm run dev, 运行前端服务
; EmbedHtml = disable   

[database]
; 配置使用什么数据库,支持:mysql、sqlite、tidb
Type = mysql
User = root
Password = password
Host = 123.1.1.1
Name = db_name
Port = 3306
; -- 其他配置
; 表前缀
TablePrefix = message_
; -- 是否打开sql打印
; SqlDebug = enable
; 数据库连接是否开启ssl, value: [false | true]
Ssl = true

配置项说明

[app] 应用配置

配置项说明默认值
JwtSecretJWT密钥,用于token生成message-nest
RuntimeRootPath运行时根路径(暂时无用)runtime/
LogLevel日志级别:DEBUG/INFO/ERRORINFO

[server] 服务器配置

配置项说明默认值
RunMode运行模式:debug/release,debug模式会自动添加跨域release
HttpPortHTTP服务端口8000
ReadTimeout读取超时时间(秒)60
WriteTimeout写入超时时间(秒)60
EmbedHtml是否使用embed打包的静态资源,注释则启用单应用模式-

[database] 数据库配置

配置项说明默认值
Type数据库类型:mysql/sqlite/tidbmysql
User数据库用户名-
Password数据库密码-
Host数据库主机地址-
Port数据库端口3306
Name数据库名称-
TablePrefix数据表前缀message_
SqlDebug是否打印SQL,设置enable开启-
Ssl数据库连接是否开启SSLfalse

Docker 环境变量

使用Docker部署时,可以通过环境变量进行配置:

变量说明
JWT_SECRETjwt秘钥,可选,默认为message-nest
LOG_LEVEL日志等级,可选,默认为INFO,DEBUG/INFO/ERROR
RUN_MODE运行模式,可选,默认release,为debug将自动添加跨域
DB_TYPE数据库类型,sqlite/mysql。默认为sqlite,存储路径为conf/database.db
MYSQL_HOSTmysql-host,DB_TYPE=mysql必填
MYSQL_PORTmysql端口,DB_TYPE=mysql必填
MYSQL_USERmysql用户名,DB_TYPE=mysql必填
MYSQL_PASSWORDmysql数据库密码,DB_TYPE=mysql必填
MYSQL_DBmysql数据库名字,DB_TYPE=mysql必填
MYSQL_TABLE_PREFIXmysql数据表前缀,DB_TYPE=mysql必填
SSL是否开启SSL
SQL_DEBUG是否打印SQL,可选,默认关,设置enable为开启

配置示例

单应用模式(推荐)

ini
[app]
JwtSecret = message-nest
LogLevel = INFO

[server]
RunMode = release
HttpPort = 8000
ReadTimeout = 60
WriteTimeout = 60
; 注释EmbedHtml,启用单应用模式
; EmbedHtml = disable

[database]
; 关闭SQL打印
; SqlDebug = enable

Type = mysql
User = root
Password = Aa123456
Host = vm.server
Port = 3308
Name = yourDbName
TablePrefix = message_

开发调试模式

ini
[app]
JwtSecret = message-nest
LogLevel = INFO

[server]
; RunMode务必设置成debug,会自动添加跨域
RunMode = debug
HttpPort = 8000
ReadTimeout = 60
WriteTimeout = 60
; 取消EmbedHtml的注释(启用前后端分离),然后到web目录下面,npm run dev启动前端页面
EmbedHtml = disable

[database]
; 开启SQL打印
SqlDebug = enable

Type = mysql
User = root
Password = Aa123456
Host = vm.server
Port = 3308
Name = yourDbName
TablePrefix = message_

SQLite 配置

ini
[app]
JwtSecret = message-nest
LogLevel = INFO

[server]
RunMode = release
HttpPort = 8000
ReadTimeout = 60
WriteTimeout = 60

[database]
Type = sqlite
TablePrefix = message_

Released under the MIT License.