1. Confluence概述与环境规划
Confluence是一个开源的知识库管理工具,提供文档协作、知识共享、项目管理等功能。Confluence是企业级知识管理的重要工具,适用于各种规模的组织。更多学习教程www.fgedu.net.cn
1.1 Confluence版本说明
Confluence目前主要版本为7.x系列,本教程以Confluence 7.19.0为例进行详细讲解。Confluence 7.x版本相比之前版本在性能、稳定性和功能方面都有显著提升,支持更多的知识库管理特性。
$ cat /opt/atlassian/confluence/confluence/WEB-INF/lib/confluence-core-7.19.0.jar | grep Implementation-Version
# 查看系统版本
$ cat /etc/os-release
NAME=”Oracle Linux Server”
VERSION=”8.9″
ID=”ol”
PRETTY_NAME=”Oracle Linux Server 8.9″
# 查看内核版本
$ uname -r
5.4.17-2136.302.7.2.el8uek.x86_64
1.2 环境规划
本次安装环境规划如下:
confluence01.fgedu.net.cn (192.168.1.134) – Confluence主服务器
confluence02.fgedu.net.cn (192.168.1.135) – Confluence备用服务器
Confluence版本:7.19.0
安装方式:二进制安装
数据库:PostgreSQL 14.0
2. 硬件环境要求
Confluence作为知识库管理工具,对硬件资源要求根据用户数量和文档量而定。学习交流加群风哥微信: itpux-com
2.1 物理主机环境要求
– CPU:至少4核
– 内存:至少8GB
– 磁盘:系统盘120GB SSD + 数据盘1TB SSD
# 检查Confluence服务器资源
# free -h
total used free shared buff/cache available
Mem: 8G 2.4G 5.1G 128M 512M 5.4G
Swap: 4G 0B 4G
# 检查磁盘空间
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 120G 20G 100G 17% /
/dev/sdb1 1TB 100G 900G 10% /data
2.2 vSphere虚拟主机环境要求
– Confluence服务器:
– vCPU:4核
– 内存:8GB
– 磁盘:系统盘120GB SSD + 数据盘1TB SSD
– 网络:VMXNET3网卡,1Gbps网络
资源池配置:
– CPU预留:2GHz
– 内存预留:4GB
– 内存限制:8GB
– CPU份额:正常
– 内存份额:正常
2.3 云平台主机环境要求
– Confluence服务器:
– 实例规格:ecs.g6.2xlarge或同等规格
– vCPU:8核
– 内存:16GB
– 系统盘:SSD云盘 120GB
– 数据盘:SSD云盘 1TB
– 网络带宽:1Gbps以上
存储配置:
– OSS对象存储:用于存储备份数据
– NAS文件存储:用于共享配置文件
– 云盘快照:定期备份数据
3. 操作系统环境准备
在安装Confluence之前,需要对操作系统进行必要的配置和优化。
3.1 操作系统版本检查
# cat /etc/os-release
NAME=”Oracle Linux Server”
VERSION=”8.9″
ID=”ol”
PRETTY_NAME=”Oracle Linux Server 8.9″
# 检查内核版本
# uname -r
5.4.17-2136.302.7.2.el8uek.x86_64
# 检查SELinux状态
# getenforce
Enforcing
# 检查防火墙状态
# systemctl status firewalld
● firewalld.service – firewalld – dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running)
3.2 依赖服务安装
# dnf install -y wget curl tar gzip java-11-openjdk-devel
# 关闭防火墙
# systemctl stop firewalld
# systemctl disable firewalld
# 关闭SELinux
# setenforce 0
# sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/’ /etc/selinux/config
# 创建Confluence用户
# useradd -r -s /bin/false confluence
# 创建目录结构
# mkdir -p /data/confluence/{config,bin,data}
# chown -R confluence:confluence /data/confluence
3.3 配置网络
# vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.1.134
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=114.114.114.114
# 重启网络
# systemctl restart NetworkManager
# 验证网络
# ping -c 4 google.com
# 配置主机名
# hostnamectl set-hostname confluence01.fgedu.net.cn
# 配置hosts文件
# vi /etc/hosts
192.168.1.134 confluence01.fgedu.net.cn confluence01
192.168.1.135 confluence02.fgedu.net.cn confluence02
4. Confluence安装配置
完成环境准备后,开始安装Confluence。
4.1 安装PostgreSQL
# dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# 安装PostgreSQL
# dnf install -y postgresql14 postgresql14-server
# 初始化PostgreSQL
# /usr/pgsql-14/bin/postgresql-14-setup –initdb
# 启动PostgreSQL服务
# systemctl start postgresql-14
# systemctl enable postgresql-14
# 验证PostgreSQL状态
# systemctl status postgresql-14
# 创建Confluence数据库和用户
# su – postgres
$ psql
postgres=# CREATE USER confluence WITH PASSWORD ‘password’;
postgres=# CREATE DATABASE confluence OWNER confluence;
postgres=# GRANT ALL PRIVILEGES ON DATABASE confluence TO confluence;
postgres=# \q
$ exit
4.2 安装Confluence
# wget https://product-downloads.atlassian.com/software/confluence/downloads/atlassian-confluence-7.19.0-x64.bin
# 设置执行权限
# chmod +x atlassian-confluence-7.19.0-x64.bin
# 安装Confluence
# ./atlassian-confluence-7.19.0-x64.bin
# 按照提示完成安装
# 1. 选择语言:1 (English)
# 2. 选择安装类型:1 (Install)
# 3. 选择安装目录:默认
# 4. 选择服务端口:默认
# 5. 选择是否启动服务:y
# 验证服务状态
# systemctl status confluence
4.3 初始化Confluence
# 打开浏览器访问 http://confluence01:8090
# 完成初始化向导
# 1. 选择安装类型:产品安装
# 2. 输入许可证密钥
# 3. 配置数据库连接
# – 数据库类型:PostgreSQL
# – 主机:localhost:5432
# – 数据库名:confluence
# – 用户名:confluence
# – 密码:password
# 4. 创建管理员账户
# – 用户名:admin
# – 密码:设置密码
# – 邮箱:admin@fgedu.net.cn
# 5. 完成初始化
5. Confluence配置优化
为了提高Confluence的性能和稳定性,需要进行一些配置优化。
5.1 基本配置优化
# vi /opt/atlassian/confluence/conf/server.xml
# 编辑JVM配置
# vi /opt/atlassian/confluence/bin/setenv.sh
CATALINA_OPTS=”-Xms4G -Xmx8G -XX:MaxMetaspaceSize=1G -XX:+UseG1GC -XX:MaxGCPauseMillis=200″
# 重启Confluence服务
# systemctl restart confluence
5.2 高可用配置
# 1. 安装Confluence到所有节点
# 2. 配置共享数据库
# 3. 配置负载均衡
# 配置负载均衡
# 编辑Nginx配置
# vi /etc/nginx/nginx.conf
upstream confluence {
server 192.168.1.134:8090;
server 192.168.1.135:8090;
}
server {
listen 80;
server_name confluence.fgedu.net.cn;
location / {
proxy_pass http://confluence;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
6. Confluence数据库配置
Confluence使用PostgreSQL数据库存储配置和文档信息。
6.1 配置PostgreSQL
# vi /var/lib/pgsql/14/data/postgresql.conf
max_connections = 200
shared_buffers = 2GB
work_mem = 32MB
maintenance_work_mem = 1GB
effective_cache_size = 6GB
# 重启PostgreSQL服务
# systemctl restart postgresql-14
# 验证PostgreSQL配置
# su – postgres
$ psql
postgres=# SHOW max_connections;
postgres=# SHOW shared_buffers;
postgres=# \q
$ exit
6.2 优化PostgreSQL
# vi /var/lib/pgsql/14/data/postgresql.conf
autovacuum = on
autovacuum_max_workers = 4
autovacuum_naptime = 10min
autovacuum_vacuum_scale_factor = 0.1
autovacuum_analyze_scale_factor = 0.05
# 重启PostgreSQL服务
# systemctl restart postgresql-14
7. Confluence安全配置
Confluence提供了多种安全功能,包括用户认证、授权、TLS加密等。
7.1 认证配置
# 打开浏览器访问 http://confluence01:8090
# 创建用户
# 1. 点击顶部菜单 “设置” -> “用户管理” -> “用户” -> “创建用户”
# 2. 填写用户信息
# – 用户名:developer
# – 密码:设置密码
# – 邮箱:developer@fgedu.net.cn
# – 全名:Developer
# 3. 点击 “创建”
# 创建组
# 1. 点击顶部菜单 “设置” -> “用户管理” -> “组” -> “创建组”
# 2. 填写组信息
# – 组名:developers
# 3. 点击 “创建”
# 分配用户到组
# 1. 点击顶部菜单 “设置” -> “用户管理” -> “组” -> 选择刚才创建的组
# 2. 点击 “添加用户”
# 3. 输入用户名:developer
# 4. 点击 “添加”
7.2 TLS加密配置
# mkdir -p /opt/atlassian/confluence/conf/ssl
# openssl req -newkey rsa:2048 -nodes -keyout /opt/atlassian/confluence/conf/ssl/confluence.key -x509 -days 365 -out /opt/atlassian/confluence/conf/ssl/confluence.crt
# 配置Confluence使用HTTPS
# vi /opt/atlassian/confluence/conf/server.xml
# 转换证书为JKS格式
# keytool -importcert -keystore /opt/atlassian/confluence/conf/ssl/confluence.jks -file /opt/atlassian/confluence/conf/ssl/confluence.crt -alias confluence
# 重启Confluence服务
# systemctl restart confluence
8. Confluence性能优化
在生产环境中,需要对Confluence进行性能优化以提高知识库管理效率。from:www.itpux.com
8.1 内存优化
# vi /opt/atlassian/confluence/bin/setenv.sh
CATALINA_OPTS=”-Xms4G -Xmx8G -XX:MaxMetaspaceSize=1G -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+ParallelRefProcEnabled -XX:+AlwaysPreTouch”
# 重启Confluence服务
# systemctl restart confluence
8.2 数据库优化
# vi /var/lib/pgsql/14/data/postgresql.conf
max_connections = 300
shared_buffers = 4GB
work_mem = 64MB
maintenance_work_mem = 2GB
effective_cache_size = 12GB
# 重启PostgreSQL服务
# systemctl restart postgresql-14
8.3 网络优化
# vi /etc/sysctl.conf
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 300
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.tcp_keepalive_intvl = 15
# 应用配置
# sysctl -p
9. Confluence升级迁移
本节介绍Confluence的版本升级和数据迁移方法。
9.1 Confluence版本升级
# tar -czf /backup/confluence-$(date +%Y%m%d).tar.gz /opt/atlassian/confluence /var/lib/pgsql/14/data
# 停止Confluence服务
# systemctl stop confluence
# 下载新版本Confluence
# wget https://product-downloads.atlassian.com/software/confluence/downloads/atlassian-confluence-7.20.0-x64.bin
# 设置执行权限
# chmod +x atlassian-confluence-7.20.0-x64.bin
# 升级Confluence
# ./atlassian-confluence-7.20.0-x64.bin
# 按照提示完成升级
# 1. 选择语言:1 (English)
# 2. 选择升级类型:2 (Upgrade)
# 3. 选择安装目录:默认
# 4. 选择服务端口:默认
# 5. 选择是否启动服务:y
# 验证升级
# 打开浏览器访问 http://confluence01:8090
9.2 Confluence数据迁移
# pg_dump -U confluence -d confluence > /backup/confluence-$(date +%Y%m%d).sql
# 在新服务器上恢复数据
# psql -U confluence -d confluence < /backup/confluence-20230405.sql
# 安装Confluence
# 重复安装步骤
# 启动Confluence服务
# systemctl start confluence
# 验证迁移
# 打开浏览器访问 http://confluence01:8090
10. Confluence备份恢复
本节介绍Confluence的备份和恢复方法。
10.1 Confluence备份
# vi /data/confluence/scripts/backup.sh
#!/bin/bash
BACKUP_DIR=”/backup/confluence”
DATE=$(date +%Y%m%d)
# 创建备份目录
mkdir -p $BACKUP_DIR
# 停止Confluence服务
systemctl stop confluence
# 备份配置文件
cp -r /opt/atlassian/confluence/conf $BACKUP_DIR/config-$DATE
# 备份数据
pg_dump -U confluence -d confluence > $BACKUP_DIR/data-$DATE.sql
# 启动Confluence服务
systemctl start confluence
# 清理旧备份(保留7天)
find $BACKUP_DIR -type f -mtime +7 -exec rm -f {} \;
# 添加执行权限
# chmod +x /data/confluence/scripts/backup.sh
# 添加定时任务
# crontab -e
0 0 * * * /data/confluence/scripts/backup.sh
10.2 Confluence恢复
# systemctl stop confluence
# 清理现有数据
# psql -U postgres -c “DROP DATABASE confluence;”
# psql -U postgres -c “CREATE DATABASE confluence OWNER confluence;”
# 恢复数据
# psql -U confluence -d confluence < /backup/confluence/data-20230405.sql
# 恢复配置文件
# cp -r /backup/confluence/config-20230405/* /opt/atlassian/confluence/conf/
# 启动Confluence服务
# systemctl start confluence
# 验证恢复
# 打开浏览器访问 http://confluence01:8090
10.3 Confluence监控脚本
# vi /data/confluence/scripts/monitor.sh
#!/bin/bash
LOG_FILE=”/var/log/confluence_monitor.log”
ALERT_EMAIL=”admin@fgedu.net.cn”
check_confluence_status() {
echo “$(date): Checking confluence status…” >> $LOG_FILE
status=$(systemctl status confluence | grep Active | awk ‘{print $2}’)
if [ “$status” != “active” ]; then
echo “$(date): Confluence is not running” >> $LOG_FILE
echo “Confluence is not running” | mail -s “Confluence Alert” $ALERT_EMAIL
systemctl start confluence
else
echo “$(date): Confluence is running” >> $LOG_FILE
fi
}
check_confluence_web() {
echo “$(date): Checking confluence web…” >> $LOG_FILE
response=$(curl -s -o /dev/null -w “%{http_code}” http://confluence01:8090)
if [ “$response” != “200” ]; then
echo “$(date): Confluence web is not accessible, response code: $response” >> $LOG_FILE
echo “Confluence web is not accessible, response code: $response” | mail -s “Confluence Alert” $ALERT_EMAIL
else
echo “$(date): Confluence web is accessible” >> $LOG_FILE
fi
}
check_postgresql_status() {
echo “$(date): Checking postgresql status…” >> $LOG_FILE
status=$(systemctl status postgresql-14 | grep Active | awk ‘{print $2}’)
if [ “$status” != “active” ]; then
echo “$(date): PostgreSQL is not running” >> $LOG_FILE
echo “PostgreSQL is not running” | mail -s “Confluence Alert” $ALERT_EMAIL
systemctl start postgresql-14
else
echo “$(date): PostgreSQL is running” >> $LOG_FILE
fi
}
main() {
check_confluence_status
check_confluence_web
check_postgresql_status
}
main
# 添加执行权限
# chmod +x /data/confluence/scripts/monitor.sh
# 添加定时任务
# crontab -e
*/15 * * * * /data/confluence/scripts/monitor.sh
通过以上步骤,Confluence安装配置、性能优化、升级迁移、备份恢复等内容已全部完成。Confluence作为开源知识库管理工具,能够高效地管理文档、知识共享和项目管理,是企业级知识管理的重要工具。
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
