createConfig.sh 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. #!/bin/bash -e
  2. SCRIPT_DIR=$(cd $(dirname ${BASH_SOURCE[0]}); pwd)
  3. p=$SCRIPT_DIR"/application_product.yml"
  4. t1=" "
  5. t2=" "
  6. t3=" "
  7. GBWebPort=$gb_WebPort
  8. GBSipPort=$gb_SIPPort
  9. GBExternalHost=$gb_Host
  10. GBSipDomain=$gb_domain
  11. GBSipID=$gb_id
  12. GBSipPASSWD=$gb_password
  13. GBExternalHost=$gb_externalHost
  14. GBEnableHttps=$gb_enableHttps
  15. #mediaSecret=$media_Secret
  16. echo "GBWebPort"
  17. finalMysqlHost=$mysqlHost;
  18. finalRedisHost=$redisHost;
  19. if [ "$redisHost" = "0.0.0.0" ];then
  20. finalRedisHost="127.0.0.1";
  21. fi
  22. if [ "$mysqlHost" = "0.0.0.0" ];then
  23. finalMysqlHost="127.0.0.1";
  24. fi
  25. echo "#hfy 国标平台配置文件" > "$p"
  26. echo "spring:" >> "$p"
  27. echo "${t1}servlet:" >> "$p"
  28. echo "${t2}multipart:" >> "$p"
  29. echo "${t3}max-file-size: 10MB" >> "$p"
  30. echo "${t3}max-request-size: 100MB" >> "$p"
  31. # redis 配置项
  32. echo "${t1}redis:" >> "$p"
  33. echo "${t2}#[必须修改] Redis服务器IP, REDIS安装在本机的,使用127.0.0.1:" >> "$p"
  34. echo "${t2}host: $finalRedisHost" >> "$p"
  35. echo "${t2}port: $redisPort" >> "$p"
  36. echo "${t2}database: $redisDB" >> "$p"
  37. echo "${t2}password: $redisPasswd" >> "$p"
  38. echo "${t2}timeout: 10000" >> "$p"
  39. echo "${t2}#[可选] 一个pool最多可分配多少个jedis实例" >> "$p"
  40. echo "${t2}poolMaxTotal: 1000" >> "$p"
  41. echo "${t2}#[可选] 一个pool最多有多少个状态为idle(空闲)的jedis实例" >> "$p"
  42. echo "${t2}poolMaxIdle: 500" >> "$p"
  43. echo "${t2}#[可选] 最大的等待时间(秒)" >> "$p"
  44. echo "${t2}poolMaxWait: 7" >> "$p"
  45. # [必选] jdbc数据库配置
  46. # redis 配置项
  47. echo "${t1}#[必选] jdbc数据库配置" >> "$p"
  48. echo "${t1}datasource:" >> "$p"
  49. echo "${t2}type: com.alibaba.druid.pool.DruidDataSource" >> "$p"
  50. echo "${t2}driver-class-name: com.mysql.cj.jdbc.Driver" >> "$p"
  51. echo "${t2}url: jdbc:mysql://$finalMysqlHost:$mysqlPort/$mysqlDB?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true&serverTimezone=PRC&useSSL=true&allowMultiQueries=true&AllowPublicKeyRetrieval=true" >> "$p"
  52. echo "${t2}username: $mysqlUser" >> "$p"
  53. echo "${t2}password: $mysqlPasswd" >> "$p"
  54. echo "${t2}druid:" >> "$p"
  55. echo "${t3}initialSize: 10 # 连接池初始化连接数" >> "$p"
  56. echo "${t3}minIdle: 5 # 连接池最小空闲连接数" >> "$p"
  57. echo "${t3}maxWait: 60000 # 获取连接时最大等待时间,单位毫秒。配置了maxWait之后,缺省启用公平锁,并发效率会有所下降,如果需要可以通过配置useUnfairLock属性为true使用非公平锁。" >> "$p"
  58. echo "${t3}keepAlive: true # 连接池中的minIdle数量以内的连接,空闲时间超过minEvictableIdleTimeMillis,则会执行keepAlive操作。" >> "$p"
  59. echo "${t3}validationQuery: select 1 # 检测连接是否有效sql,要求是查询语句,常用select 'x'。如果validationQuery为null,testOnBorrow、testOnReturn、testWhileIdle都不会起作用。" >> "$p"
  60. echo "${t3}testWhileIdle: true # 建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。" >> "$p"
  61. echo "${t3}testOnBorrow: false # 申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。" >> "$p"
  62. echo "${t3}testOnReturn: false # 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。" >> "$p"
  63. echo "${t3}poolPreparedStatements: false # 是否開啟PSCache,並且指定每個連線上PSCache的大小" >> "$p"
  64. echo "${t3}timeBetweenEvictionRunsMillis: 60000 # 配置間隔多久才進行一次檢測,檢測需要關閉的空閒連線,單位是毫秒" >> "$p"
  65. echo "${t3}minEvictableIdleTimeMillis: 300000 # 配置一個連線在池中最小生存的時間,單位是毫秒" >> "$p"
  66. echo "${t3}filters: stat,slf4j # 配置监控统计拦截的filters,监控统计用的filter:sta, 日志用的filter:log4j" >> "$p"
  67. echo "${t3}useGlobalDataSourceStat: true # 合并多个DruidDataSource的监控数据" >> "$p"
  68. echo "${t3}connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=1000" >> "$p"
  69. echo "${t3}maxActive: 200 # 连接池最大连接数" >> "$p"
  70. echo "server:" >> "$p"
  71. echo "${t1}address: 0.0.0.0" >> "$p"
  72. echo "${t1}# 国标平台web端口" >> "$p"
  73. echo "${t1}port: $gb_WebPort" >> "$p"
  74. echo "${t1}# [可选] HTTPS配置, 默认不开启" >> "$p"
  75. echo "${t1}ssl:" >> "$p"
  76. echo "${t2}# [可选] 是否开启HTTPS访问" >> "$p"
  77. echo "${t2}enabled: $GBEnableHttps" >> "$p"
  78. echo "${t2}# [可选] 证书文件路径,放置在resource/目录下即可,修改xxx为文件名" >> "$p"
  79. echo "${t2}key-store: classpath:xxx.jks" >> "$p"
  80. echo "${t2}# [可选] 证书密码" >> "$p"
  81. echo "${t2}key-store-password: password" >> "$p"
  82. echo "${t2}# [可选] 证书类型, 默认为jks,根据实际修改" >> "$p"
  83. echo "${t2}key-store-type: JKS" >> "$p"
  84. echo "${t2}# 配置证书可以使用如下两项,如上面二选一即可" >> "$p"
  85. echo "${t2}# PEM 编码证书" >> "$p"
  86. echo "${t2}certificate: keys/cert.pem" >> "$p"
  87. echo "${t2}# 私钥文件" >> "$p"
  88. echo "${t2}certificate-private-key: keys/key.pem" >> "$p"
  89. echo "sip:" >> "$p"
  90. echo "${t1}# [必须修改] 本机的IP, 必须是网卡上的IP,用于sip下协议栈监听ip,如果监听所有设置为0.0.0.0" >> "$p"
  91. echo "${t1}monitor-ip: 0.0.0.0" >> "$p"
  92. echo "${t1}# [必须修改] 本机的IP,zlm需要可与此ip通信" >> "$p"
  93. echo "${t1}ip: $GBExternalHost" >> "$p"
  94. echo "${t1}# [必须修改] 国标协议sip信令端口" >> "$p"
  95. echo "${t1}port: $GBSipPort" >> "$p"
  96. echo "${t1}# 根据国标协议6.1.2的规则制定的 10位数" >> "$p"
  97. echo "${t1}domain: $GBSipDomain" >> "$p"
  98. echo "${t1}# 平台id" >> "$p"
  99. echo "${t1}id: $GBSipID" >> "$p"
  100. echo "${t1}# sip认证密码" >> "$p"
  101. echo "${t1}password: $GBSipPASSWD" >> "$p"
  102. echo "${t1}# 设备心跳超时时间" >> "$p"
  103. echo "${t1}keepalive-timeout: 255" >> "$p"
  104. echo "${t1}# [可选] 国标级联注册失败,再次发起注册的时间间隔。 默认60秒" >> "$p"
  105. echo "${t1}register-time-interval: 60" >> "$p"
  106. echo "${t1}# [可选] 云台控制速度" >> "$p"
  107. echo "${t1}ptz-speed: 50" >> "$p"
  108. echo "${t1}# 是否存储alarm信息" >> "$p"
  109. echo "${t1}alarm: false" >> "$p"
  110. echo "${t1}# hfy ai图片存储位置" >> "$p"
  111. echo "${t1}mediaPath: mFile" >> "$p"