Confluence部署

环境规划

节点信息

主机IP 地址角色
Server 1172.18.8.98Confluence 节点 1
Server 2172.18.8.99Confluence 节点 2
Server 3172.18.8.97Nginx(负载均衡)、MySQL、NFS 服务

系统是ubuntu 22.04

大数据老confluence服务器配置:

4c16g 硬盘200g(使用不到30g)

新confluence集群配置:

节点配置:4c16g 50g的磁盘

数据库、负载均衡、nfs服务器配置:4c16g,300gb的磁盘

新装系统设置

更新系统

sudo apt update && sudo apt upgrade -y

安装常用工具

sudo apt install -y build-essential curl wget vim git unzip net-tools htop software-properties-common

设置正确的时区

sudo timedatectl set-timezone Asia/Shanghai 

关闭防火墙

 sudo ufw disable
 sudo systemctl disable ufw

取消文件打开限制

#加到最后
vim /etc/security/limits.conf
* soft nofile 65535 
* hard nofile 65535

挂载数据盘

#挂载另一个另一块磁盘到/data并查看是否挂载成功
lsblk
sudo mkfs.xfs /dev/sdb
sudo mkdir -p /data
sudo mount /dev/sdb /data
df -h

#获取UUID
sudo blkid /dev/sdb
#编辑/etc/fstab并添加uuid
sudo nano /etc/fstab
UUID=xxxx-xxxx   /data   xfs   defaults   0   0
#测试挂载
sudo mount -a

#重启后可以再用df -h确认挂载情况

详细部署步骤

一、JDK 17 安装

在所有节点(172.18.8.97、172.18.8.98、172.18.8.99)上安装 JDK 17:

  1. 下载 JDK 17:
sudo apt update
sudo apt install -y wget
wget https://download.oracle.com/java/17/archive/jdk-17.0.12_linux-x64_bin.deb
  1. 安装 JDK 17:
sudo dpkg -i jdk-17.0.12_linux-x64_bin.deb
  1. 设置默认 Java 版本,有提示错误不用管,再敲一遍:
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-17.0.12-oracle-x64/bin/java 1
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk-17.0.12-oracle-x64/bin/javac 1
sudo update-alternatives --set java /usr/lib/jvm/jdk-17.0.12-oracle-x64/bin/java
sudo update-alternatives --set javac /usr/lib/jvm/jdk-17.0.12-oracle-x64/bin/javac
  1. 验证安装:
sudo update-alternatives --display java
sudo update-alternatives --display javac
java -version

二、安装和配置 MySQL,安装到/data/目录下面

Server 3172.18.8.97)上安装并配置 MySQL。

1. 安装 MySQL,版本用的是mysql 8.0:
sudo apt install -y mysql-server
2. 创建 /data/mysql 数据目录:
sudo mkdir -p /data/mysql
sudo chown mysql:mysql /data/mysql
sudo chmod 750 /data/mysql
3. 修改 MySQL 配置文件 /etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]

# 基本设置
user = mysql
pid-file = /data/mysql/mysqld.pid
socket = /data/mysql/mysql.sock
port = 3306
basedir = /usr
datadir = /data/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
transaction-isolation = READ-COMMITTED
log_bin_trust_function_creators = 1
skip-external-locking

# 绑定地址(允许远程访问)
bind-address = 0.0.0.0

# 最大连接数
max_connections = 300

# 字符集设置
character-set-server = utf8mb4
collation-server = utf8mb4_bin
init_connect = 'SET NAMES utf8mb4'

# InnoDB 引擎优化
innodb_buffer_pool_size = 8G
innodb_log_file_size = 512M
innodb_log_buffer_size = 64M
innodb_file_per_table = 1
innodb_flush_log_at_trx_commit = 2
innodb_flush_method = O_DIRECT
innodb_lock_wait_timeout = 60

# 缓存设置
tmp_table_size = 128M
max_heap_table_size = 128M
table_open_cache = 4000
table_definition_cache = 2000

# 日志设置
log_error = /data/mysql/error.log
slow_query_log = 1
slow_query_log_file = /data/mysql/mysql-slow.log
long_query_time = 2
log_queries_not_using_indexes = 1

# 网络设置
max_allowed_packet = 256M
interactive_timeout = 600
wait_timeout = 600
net_read_timeout = 60
net_write_timeout = 60

# 禁用 DNS 名称解析
skip-name-resolve

# 权限管理
default_authentication_plugin = mysql_native_password

# 性能模式
performance_schema = ON

# 表存储引擎
default_storage_engine = InnoDB

# Binlog 设置
binlog_format = ROW
expire_logs_days = 10
max_binlog_size = 512M

[client]

port = 3306 socket = /data/mysql/mysql.sock default-character-set = utf8mb4

[mysqldump]

quick quote-names max_allowed_packet = 256M

[mysql]

no-auto-rehash default-character-set = utf8mb4

[isamchk]

key_buffer = 16M

[myisamchk]

key_buffer = 16M !includedir /etc/mysql/conf.d/

4. 编辑 AppArmor 配置文件
sudo nano /etc/apparmor.d/usr.sbin.mysqld

# 在类似注释下面加Allow MySQL to access its data directory
# 可以加在这两条下面
#/var/lib/mysql/ r,
#/var/lib/mysql/** rwk,
/data/mysql/ r,
/data/mysql/** rwk,

sudo systemctl restart apparmor
5. 初始化 /data/mysql 数据目录::
sudo mysqld --initialize --user=mysql --datadir=/data/mysql
6. 配置数据库:
  • 登录 MySQL,并求改初始密码,检查数据目录:
# 通过日志查询初始密码
sudo cat /data/mysql/error.log
sudo mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
SHOW VARIABLES LIKE 'datadir';
  • 创建数据库和用户:
CREATE DATABASE confluence CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'confluenceuser'@'%' IDENTIFIED WITH mysql_native_password BY 'securepassword';
GRANT ALL PRIVILEGES ON confluence.* TO 'confluenceuser'@'%';
FLUSH PRIVILEGES;

重启 MySQL:

sudo systemctl restart mysql
sudo systemctl status mysql

三、配置 NFS

Server 3172.18.8.97)上设置 NFS 服务,提供共享存储。

  1. 安装 NFS:
sudo apt install -y nfs-kernel-server
  1. 创建共享目录:
sudo mkdir -p /data/nfs/confluence-shared
sudo chmod 777 /data/nfs/confluence-shared
  1. 配置 NFS 导出规则: 在 /etc/exports 中添加:
/data/nfs/confluence-shared 172.18.8.0/24(rw,sync,no_root_squash,no_subtree_check)
  1. 启动 NFS 服务:
sudo exportfs -ra
sudo systemctl restart nfs-kernel-server
  1. Server 1Server 2 挂载 NFS:
sudo apt install -y nfs-common
sudo mkdir -p /mnt/confluence-shared
sudo mount -t nfs 172.18.8.97:/data/nfs/confluence-shared /mnt/confluence-shared
sudo showmount -e 172.18.8.97
  1. 配置开机挂载: 在 /etc/fstab 添加:
172.18.8.97:/data/nfs/confluence-shared /mnt/confluence-shared nfs defaults 0 0
  1. 新建一个测试文件,看看两台机器是否都可以访问:
touch /mnt/confluence-shared/testfile

四、安装 Confluence

1. 每个节点将本地家目录放在节点的本地磁盘上:
1.1. 在每个节点创建本地家目录和安装目录:
sudo mkdir -p /data/var/atlassian/application-data/confluence
sudo mkdir -p /data/opt/atlassian/confluence/
sudo chmod -R u=rwx,g=rx,o=rx /data/var/atlassian/application-data/confluence
sudo chmod -R u=rwx,g=rx,o=rx /data/opt/atlassian/confluence/
2. 在节点一上安装 Confluence 8.5.11。
2.1. 下载并运行安装程序:
wget https://product-downloads.atlassian.com/software/confluence/downloads/atlassian-confluence-8.5.11-x64.bin
chmod +x atlassian-confluence-8.5.11-x64.bin
sudo ./atlassian-confluence-8.5.11-x64.bin
2.2. 安装全部直接用默认回车就行:
  • 安装路径/data/opt/atlassian/confluence
  • 家目录:选择默认即可 /data/var/atlassian/application-data/confluence
  • 启动服务:yes。
2.3. 修改节点一的集群配置:

编辑 /data/var/atlassian/application-data/confluence/confluence.cfg.xml 文件,添加以下内容(这一步不一定必要,后面在网页端配置完必要的设置也会都设置上):

<property name="confluence.cluster.enabled">true</property>
<property name="confluence.cluster.name">confluence-cluster</property>
<property name="confluence.cluster.join.type">tcp</property>
<property name="confluence.cluster.join.address">127.0.0.1</property>
2.4. 配置节点一的 JVM 参数:

修改 /data/opt/atlassian/confluence/bin/setenv.sh 文件(新版本可能这一步可以不加了):

CATALINA_OPTS="-Datlassian.cluster.enabled=true \
-Datlassian.cluster.node.name=node1 \
-Datlassian.cluster.join.type=tcp \
-Datlassian.cluster.join.address=127.0.0.1 $CATALINA_OPTS"

加到这后面

2.5. 安装mysql驱动

拷贝驱动文件到confluence程序目录:/data/opt/atlassian/confluence/confluence/WEB-INF/lib/mysql-connector-j-8.4.0.jar,重启节点一,重启完可能要等5分钟才能访问。

2.6. 访问节点一

http://172.18.8.98:8900。可以切换中文

2.7. 按向导完成:
  • 输入 Data Center 许可证,没有的话一开始选试用。

点击获取试用授权

直接点生成license就行,server ID记录一下

点确定

点仍然发送

记录许可证,然后点下一步

点集群

集群名称随便写,配置共享存储路径:/mnt/confluence-shared

链接配置使用TCP/IP,把两个节点都加上:172.18.8.98,172.18.8.99

配置数据库连接,选mysql:

  • 地址:172.18.8.97:3306
  • 数据库:confluence
  • 用户名:confluenceuser
  • 密码:securepassword

点下一步,这边要等5分钟,然后跳出如下界面:

2.8. 配置用户和组
2.9. 节点一安装完成,验证集群状态:
  • 登录 Confluence 管理界面,检查集群节点状态。
2.10. 关闭节点一上的confluence,在节点一运行这个脚本
/opt/atlassian/confluence/bin/stop-confluence.sh
3. 配置节点二
3.1. 下载并运行安装程序(不装一下会存在跨域问题,导致附件插入时有延迟):
wget https://product-downloads.atlassian.com/software/confluence/downloads/atlassian-confluence-8.5.11-x64.bin
#之前下过直接用rz命令拷进去就行
chmod +x atlassian-confluence-8.5.11-x64.bin
sudo ./atlassian-confluence-8.5.11-x64.bin
3.2. 安装全部直接用默认回车就行:
  • 安装路径/data/opt/atlassian/confluence
  • 家目录/data/var/atlassian/application-data/confluence
  • 启动服务:否。
3.3. 把安装的家目录和安装目录删除:
rm -rf /data/opt/atlassian/confluence/
rm -rf /data/var/atlassian/application-data/confluence/
3.4. 把节点一上的安装目录和home目录复制到节点二上。后面的操作都在节点二上。
scp -rp /data/opt/atlassian/confluence root@172.18.8.99:/data/opt/atlassian/
scp -rp /data/var/atlassian/application-data/confluence root@172.18.8.99:/data/var/atlassian/application-data/
3.5. 在节点二新建一个conluence用户
sudo /usr/sbin/useradd --create-home --comment "Account for running Confluence" --shell /bin/bash confluence
3.6. 设置相关文件的权限
sudo chmod -R u=rwx,g=rx,o=rx /data/var/atlassian/application-data/confluence;
sudo chmod -R u=rwx,g=rx,o=rx /data/opt/atlassian/confluence/;
sudo chown -R confluence /data/var/atlassian/application-data/confluence/;
sudo chown -R confluence /data/opt/atlassian/confluence/logs;
sudo chown -R confluence /data/opt/atlassian/confluence/work;
sudo chown -R confluence /data/opt/atlassian/confluence/temp;
3.7. 修改配置文件

编辑 /data/var/atlassian/application-data/confluence/confluence.cfg.xml 文件,添加修改以下内容(黄色那句要改一下,其它默认应该不用改了):

<property name="confluence.cluster.enabled">true</property>
<property name="confluence.cluster.name">confluence-cluster</property>
<property name="confluence.cluster.join.type">tcp_ip</property>
<property name="confluence.cluster.join.address">172.18.8.98</property>

修改 /data/opt/atlassian/confluence/bin/setenv.sh 文件:

CATALINA_OPTS="-Datlassian.cluster.enabled=true \
-Datlassian.cluster.node.name=node2 \
-Datlassian.cluster.join.type=tcp \
-Datlassian.cluster.join.address=172.18.8.98 $CATALINA_OPTS"

五、配置 Nginx 负载均衡

Server 3172.18.8.97)上配置 Nginx 作为负载均衡器。

  1. 安装 Nginx:
sudo apt install -y nginx
  1. 配置 Nginx: 编辑 /etc/nginx/sites-available/confluence
upstream confluence_cluster {
    ip_hash;
    server 172.18.8.98:8090;
    server 172.18.8.99:8090;
}

server {
    listen 80;
    server_name wiki.amassfreight.com;
    client_max_body_size 100M;

    location / {
        proxy_pass http://confluence_cluster;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # 确保 WebSocket 连接支持
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

    }
}
  1. 启用配置并重启 Nginx:
#在 /etc/nginx/sites-enabled/ 中查找是否存在 default 配置:
ls -l /etc/nginx/sites-enabled/
#如果存在 default 文件或链接,可以禁用它:
sudo rm /etc/nginx/sites-enabled/default
sudo ln -s /etc/nginx/sites-available/confluence /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

六、使用配置

1. 配置DNS

添加相关记录:wiki.amassfreight.com

2. 配置server.xml

在两个节点上都把这个文件修改一下,黄色部分是confluence安装目录

nano /data/opt/atlassian/confluence/conf/server.xml  

        <Connector port="8090" connectionTimeout="20000" redirectPort="8443"
                   maxThreads="48" maxPostSize="16777216" minSpareThreads="10"
                   enableLookups="false" acceptCount="10" URIEncoding="UTF-8"
                   protocol="org.apache.coyote.http11.Http11NioProtocol"
                   proxyName="wiki.amassfreight.com" proxyPort="80" scheme="http" secure="false"/>
3. 启动节点

启动节点一定要一个个启动,先启动节点一,访问都没问题了,再启动节点二。

/opt/atlassian/confluence/bin/start-confluence.sh

节点一开启后会先报一个错,先不管

这里点一般配置

4. 修改confluence URL

修改成http://wiki.amassfreight.com


七、后续维护

  1. 备份
  • 数据库:
mysqldump -u confluenceuser -p confluence > /backup/confluence.sql
  • 共享存储:
rsync -av /var/nfs/confluence /backup/
  1. 监控
  • 查看日志:
tail -f /var/atlassian/application-data/confluence/logs/atlassian-confluence.log
  1. 扩展
  • 新增节点:复制安装流程。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇