i007.cc

i007.cc

优先队列-降维打击

05.价值资料

Confluence: Unable to bootstrap application

原文地址

 

经历了几次服务器崩溃重启后,Confluence重启不了,并弹出提示

Confluence had problems starting up
This page is for Confluence administrators. If you’re seeing this page, your Confluence administrator is probably working to restore the service.

Description:Could not load bootstrap from environment
Time:2019-01-02 16:28:39
Level: fatal
Exception: BootstrapException: Unable to bootstrap application: Failed to parse config file: Error on line -1 of document : Premature end of file. Nested exception: Premature end of file.

分析原因
几个重要文件:
启动参数:/opt/atlassian/confluence/confluence/WEB-INF/classes/confluence-init.properties

confluence.home = /home/atlassian/application-data/confluence

配置文件:/home/atlassian/application-data/confluence/confluence.cfg.xml

发现系统崩溃重启导致了confluence.cfg.xml文件为空,启动时读取不到对应的数据库参数和配置(真是坑)。在备份文件里也找不到此文件,只找到了历史操作events数据。

参考了官网文件后1,找到了如下方法

备份数据库DB1和Confluence home文件夹HOME1
新建一个空数据库DB2,用于创建新的confluence.cfg.xml,稍后可以废弃。
创建一个新的空的home文件夹HOME2。编辑<confluence_install_directory>/confluence/WEB-INF/classes/confluence-init.properties,指向HOME2
重启Confluence
按照安装指导正常配置,在数据库配置页面,指向第二步创建的数据库
完成设置指导
关闭Confluence
这时就有一个完整的confluence.cfg.xml文件
把这个文件复制到HOME1文件夹中
变更数据库链接到所需的数据库DB1上
变更<confluence_install_directory>/confluence/WEB-INF/classes/confluence-init.properties 将home设置为HOME1
重启Confluence
后续
必要的备份是必须的,在我打算进行上面的操作时,发现在安装时有备份,直接COPY备份文件过去,重启搞定。

参考文件
How to Generate a New confluence.cfg.xml ↩︎

 

One thought on “Confluence: Unable to bootstrap application

  • WillPost author

    我的Confluence又挂了,究其原因是Confluence启动的时候删除了配置文件,然后启动结束之后会重新生成配置文件,所以这之间会有一个空档期,在这个空档期内,如果你把服务器重启了,那么配置就丢了,所以Confluence的启动绝不能放在rc.local里面,而应该是系统启动之后你手工调用启动脚本,启动脚本耗时比较长,但是这样操作能让你避免这个问题,真是个大坑。

发表回复