Confluence 5.4.4 -> 6.13 迁移部署方案

开始之前

确定Confluence版本
根据Confluence支持的平台选择数据库的版本。
官网说5.4之后的版本,都是可以直接升级到最新版本的。


一、部署数据库

我这里用的是PostgreSQL,也可以选用其他数据库。数据库的版本根据Confluence的版本去选择。


1、安装数据库

#下载postgresql数据库的yum源
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

#查看当前yum源支持哪些版本
yum list | grep postgre

#yum安装数据库
yum install postgresql94 postgresql94-server


2、数据库初始化
/usr/pgsql-9.4/bin/postgresql94-setup initdb

3、配置数据库远程访问

/var/lib/pgsql/data/pg_hba.conf 文件中添加host all all 0.0.0.0/0 md5

/var/lib/pgsql/data/postgresql.conf添加 listen_addresses='*'

注意:如果不配置数据库的远程访问的话,Confluence是连不上数据库的。


4、创建用户和数据库
#连接数据库进入命令行
su postgres

#启动SQL Shell
psql

#创建数据库用户
CREATE USER confluenceuser WITH PASSWORD '******';

#给这个用户创建一个数据库
CREATE DATABASE confluence OWNER confluenceuser;

#查看数据库,以及数据库的所有者
/l 

#退出SQL Shell
\q

#退出命令行
exit

启动数据库

systemctl start postgresql-9.4

关闭数据库

systemctl stop postgresql-9.4

到此为止数据库的配置就完成了


二、部署Confluence

1、先从官网下载Confluence

#下载
wget https://www.atlassian.com/software/confluence/downloads/binary/atlassian-confluence-6.13.11-x64.bin

#赋予执行权
chmod +X atlassian-confluence-6.13.11-x64.bin


2、安装

启动安装程序,建议使用 sudo 运行安装程序,因为这将创建一个专用帐户来运行Confluence,可以使用systemctl管理Confluence。

sudo ./chmod +X atlassian-confluence-6.13.11-x64.bin


按照提示安装Confluence。系统将要求您提供以下信息:

安装类型 –选择选项2(自定义)以获得最大控制。
目标目录 –这是Confluence的安装目录。
Home目录 –这是Confluence数据(如日志,搜索索引和文件)的存储位置。
TCP端口 –这是HTTP连接器端口和Confluence将在其上运行的控制端口。
除非您在同一端口上运行另一个应用程序,否则请坚持默认设置。


 # o确定安装,c取消

This will install Confluence 6.13.11 on your computer.

OK [o, Enter], Cancel [c]

o

Click Next to continue, or Cancel to exit Setup.


# 选择1是使用默认安装路径,2为自定义安装

Choose the appropriate installation or upgrade option.

Please choose one of the following:

Express Install (uses default settings) [1],

Custom Install (recommended for advanced users) [2, Enter],

Upgrade an existing Confluence installation [3]

2


# 指定安装的目录,会自动创建,不输入直接回车就是使用默认路径

Select the folder where you would like Confluence 6.13.11 to be installed,

 then click Next.

Where should Confluence 6.13.11 be installed?

[/opt/atlassian/confluence]
/home/admin/atlassian/confluence



# 指定存储目录

Default location for Confluence data

[/var/atlassian/application-data/confluence]
/home/admin/atlassian/application-data/confluence

# 使用默认的端口,8090和8000

Configure which ports Confluence will use.

Confluence requires two TCP ports that are not being used by any other applications on this machine.

The HTTP port is where you will access Confluence through your browser.

The Control port is used to Startup and Shutdown Confluence.

Use default ports (HTTP: 8090, Control: 8000) - Recommended [1, Enter], Set custom value for HTTP and Control ports [2]

1

# 安装为后台进程,可后台运行

Confluence can be run in the background.

 You may choose to run Confluence as a service, which means it will start automatically whenever the computer restarts.

Install Confluence as Service? Yes [y, Enter], No [n]

y

Extracting files ...

Please wait a few moments while we configure Confluence.


# 是否启动Confluence

Installation of Confluence 6.8.5 is complete

Start Confluence now? Yes [y, Enter], No [n]

y

Please wait a few moments while Confluence starts up.

Launching Confluence ...


安装完成…

启动Confluence可以直接用systemctl管理。

果你们的不可以的话,可以用下面的方法。

启动
/home/admin/atlassian/confluence/bin/startup.sh
关闭
/home/admin/atlassian/confluence/bin/shutdown.sh


3、 web界面安装

查看服务是否启动:

netstat -anpt | grep 8090 

浏览器里输入http://$IP:8090 访问confluence

具体的web界面配置请参考https://www.jianshu.com/p/2f2142ce01b7,我这里就不写了,安装的时候没有截图。除了web安装过程和破解过程,其他的还是有很大差别的,版本和环境都不同,不能相提并论。其他的部分按照我写的就可以了。

他用的数据库是mysql,除了这一点其他的没什么区别。

破解过程也可以参考,不过破解工具的链接好像失效了,我在下面粘贴了一个新的链接。

链接: https://pan.baidu.com/s/1G1bOZwwDJC_HvN54oCVw8g
提取码: ww3y

这个要在Windows上面进行破解的,需要安装jdk才可以执行jar包。

我给个安装教程,我就不写了,我的包找不到了,要不就直接链接到这里了https://blog.csdn.net/moxiaofei1208/article/details/80988626

安装成功后,就可以直接用了,一般不需要配置环境变量,我就没配。在cmd里面执行java能够识别这个命令就算安装成功了。

许可证里面有个坑,不过可能很多人碰不到,我在公司部署的时候因为用的Mac所以没法使用破解工具,我就先搞了一个试用的许可证,想着晚上回去用Windows破解,结果不行,如果先部署jar包,服务直接就访问不了,如果先去更换许可证书,是识别不了的,所以就只能重装了。


三、Confluence的迁移

1、增可用内存来解决内存不足错误

有一个坑先说了吧,Confluence默认的jvm内存只有1G。迁移的过程会因为这个报错,可能就算不是迁移也需要改这个,官网说过小有可能会造成Confluence挂掉,所以还是改一下吧,我这里给的4G,官网说的太麻烦了,你们也给4G就可以了。

我的物理内存是16G,CPU 1 sockets,4 cores。CPU用的很少,内存可以多给一点,刚开始给的8G搞到80多的占有率,16G还是80多的占用率。多给些内存是可以提高性能的。硬盘给的是700G的固态,为了更好用,哈哈哈。

官网链接:如何通过增加可用内存来解决内存不足错误

有兴趣的话还是可以去看一下官网写的。我直接写操作步骤了

#这个文件在安装目录,如果不一样自己要改一下
vim /home/admin/atlassian/confluence/bin/setenv.sh

在这里插入图片描述
注意箭头的哪行配置,直接大写的G到文件最后一行就可以看到了,我这里配置的是4096,初始值是1024。

改完记得重启Confluence

然后去web界面去看看有没有生效

使用管理员账号登入,然后点击一般配置。

在这里插入图片描述

找到管理-系统信息,点击往下划就可以看到了。
在这里插入图片描述

OK,下面开始迁移部分…

一般默认情况下Confluence,是有备份的

在每日备份里面,而且都是夜里备份,可以手动关闭,我们正好就是要利用这个备份来迁移。

在这里插入图片描述


上面还有备份文件的目录,如果使用这个备份策略记得,写一个脚本定时删除备份文件,要不占用很多的磁盘,导致磁盘100%。

脚本很简单,我写在下面了,可以直接用吧备份目录改成自己的就可以了。

location="/home/admin/atlassian/application-data/confluence/backups"

find $location -mtime +7 -type f | xargs rm -f

然后写入计划任务里面定时执行

crontab -l
30 2 * * * /bin/bash /home/admin/delete_wiki_backup.sh

我们恢复的时候,把这个备份文件放入到/home/admin/atlassian/application-data/confluence/restore目录下就好了。

我用工具是rsync,scp也可以,看个人喜好。

在这里插入图片描述

然后选择备份与还原,使用从主目录的方式导入备份。如果备份文件在本地的话,也可以使用上传并导入,但是不推荐。而且备份文件很大的话,还是乖乖的用主目录导入导入的方法吧。

好了等待进度条读完,迁移就完成了,检查自己的站点的数据有没有丢失。


四、其他的迁移方案

1、如果只是迁移不升级版本的话,有一个更简单的方法,说一下流程。

(1)安装相同版本的Confluence,两个目录要和旧的服务器上面的相同。

(2)把/home/admin/atlassian这个目录同步到新服务器的相同位置,推荐使用rsync,scp实现不了。(旧的服务器上的Confluence关不关影响不大,在此过程中用户没有写入很多数据的情况下,最好还是停机)

(3)导出Confluence,导入到新的服务器上面的数据库里面。创建相同的数据库用户和数据库。数据库的版本和配置都要一样。

(4)启动Confluence,检查站点情况。


五、配置使用nginx代理

nginx代理配置

server {
    listen 80;
    server_name www.example.com;
    location / {
        client_max_body_size 100m;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
        proxy_pass http://localhost:8090;
    }

然后在web界面配置,把自己的域名写到这个上面。

在这里插入图片描述

然后更改server.xml文件的配置

#进入这个文件
vim /home/admin/atlassian/confluence/conf/server.xml

注释掉原有的这一部分内容
在这里插入图片描述
然后往下翻,几乎在最下面的位置,取消下面配置的注释,并更改proxyName后面的内容,如果使用http的话,上面一点就有注释掉的模板,取消注释,并更改配置就好了,不过整个配置文件只能留有一个这样的配置。

<Connector port="8090" connectionTimeout="20000" redirectPort="8443"
                   maxThreads="48" minSpareThreads="10"
                   enableLookups="false" acceptCount="10" debug="0" URIEncoding="UTF-8"
                   protocol="org.apache.coyote.http11.Http11NioProtocol"
                   scheme="https" secure="true" proxyName="域名" proxyPort="443"/>

然后重启用域名访问就好了,需要注意的是要先配置web界面的域名,如果先改配置文件的话,会导致你用ip访问不了,域名也访问不了。然后就需要关闭服务把配置改回来,再重启。


总结:
做完这件事后我反思了自己做这件事情所的到的东西,在学习一个新事物的时候(可以是技术也可以是其他),我们应该花费多一些的时间去了解,先不要急着下手,当你对这个东西有个大致的了解的时候,可以写方案了,根据实际的情况去写。或许可以有几种方案,然后挑选最合适和最好的。这样做有很多好处,会让你有很清晰的思路,遇到问题的时候也能够快速定位出现问题的环节,因为整个流程已经了然于胸了,同时在开始之前就能避免很多问题的发生。

如果无脑的去做,边做边去熟悉,花费的时间会更多遇到的坑也会更多,遇到问题都没有解决问题的方向。

这只是个人的一些没有意义的文字,可以忽略。


参考文档:

数据库配置:https://confluence.atlassian.com/conf613/database-configuration-964961298.html

数据库JDBC驱动程序:https://confluence.atlassian.com/conf613/database-jdbc-drivers-964961299.html

Rsync:https://blog.csdn.net/jiangyu1013/article/details/79754060

生产备份策略:https://confluence.atlassian.com/conf613/production-backup-strategy-964961325.html

Confluence生产安装 - 从备份还原数据:https://confluence.atlassian.com/conf613/confluence-setup-guide-964961643.html#ConfluenceSetupGuide-restore

升级后的检查:https://confluence.atlassian.com/conf613/confluence-post-upgrade-checks-964961671.html

如何通过增加可用内存来解决内存不足错误:https://confluence.atlassian.com/confkb/how-to-fix-out-of-memory-errors-by-increasing-available-memory-154071.html

如何使用NGINX代理对Confluence的请求:https://confluence.atlassian.com/confkb/how-to-use-nginx-to-proxy-requests-for-confluence-313459790.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值