在 Linux 环境下安装 Confluence,核心在于确保 Java 运行环境(JDK)版本匹配、配置高性能的外部数据库(如 PostgreSQL)以及正确设置文件系统的权限与内存参数。
Confluence 部署在 Ubuntu 还是 CentOS
在选择操作系统时,许多运维工程师会纠结于 Confluence 部署在 Ubuntu 还是 CentOS,虽然两者都能完美运行 Confluence,但其底层逻辑和维护习惯存在差异。
操作系统稳定性与资源占用对比
根据近年来企业级应用部署的实践观察,不同发行版在资源调度上的表现略有不同。
| 维度 | Ubuntu (Debian 系) | CentOS (RHEL 系) |
|---|---|---|
| 包管理工具 | apt |
yum / dnf |
| 内核更新频率 | 较高,较容易获取新特性 | 较低,侧重于长期稳定性 |
| 社区支持 | 广泛,文档极其丰富 | 针对企业级服务器环境非常成熟 |
| 默认安全性 | ufw 防火墙,配置简单 |
firewalld,策略较为严谨 |
业内专家指出,如果你的团队更倾向于快速迭代和丰富的开源软件包支持,Ubuntu 是更灵活的选择;而如果是在追求极致稳定性的金融或传统制造业环境,CentOS(或其替代品 Rocky Linux/AlmaLinux)通常是行业共识。
不同发行版的包管理差异
在安装依赖项(如 Java 或数据库)时,Ubuntu 使用 apt-get 路径,而 CentOS 使用 yum,这意味着在执行安装命令时,你需要根据系统类型切换命令集,在 Ubuntu 上安装 OpenJDK 11 的命令是 sudo apt install openjdk-11-jdk,而在 CentOS 上则是 sudo yum install java-11-openjdk-devel
。
Confluence Linux 安装前的环境准备
在正式开始安装之前,必须完成环境的“地基”建设,否则在后续的 Web 初始化阶段极易出现连接超时或权限拒绝的问题。
硬件资源配置标准
Confluence 是一个内存密集型应用,据统计,对于 50 人以下的小型团队,建议配置至少 4核 CPU、8GB 内存及 50GB 以上的 SSD 存储空间,如果团队规模超过 200 人,内存配置应至少提升至 16GB 或更高,以应对复杂的索引查询和插件运行。
Java 环境安装与版本校验
Confluence 运行在 JVM 之上,JDK 的版本至关重要,目前主流的 Confluence 版本通常要求 Java 11 或 Java 17。
- 检查当前环境:
java -version - 若未安装,以 Ubuntu 为例执行:
sudo apt update && sudo apt install openjdk-11-jdk -y - 确认
JAVA_HOME环境变量已正确配置在/etc/environment或用户的.bashrc中。
数据库选型与权限设置
虽然 Confluence 支持内置的 H2 数据库,但 Confluence 私有化部署成本 和性能考量决定了在生产环境中严禁使用 H2,行业共识认为,PostgreSQL 是目前部署 Confluence 的首选数据库,其次是 MySQL 或 Oracle。
以 PostgreSQL 为例,你需要提前创建一个专门给 Confluence 使用的角色和数据库:
- 进入数据库命令行:
sudo -u postgres psql - 创建用户:
CREATE USER confluenceuser WITH PASSWORD 'your_secure_password'; - 创建数据库:
CREATE DATABASE confluencedb OWNER confluenceuser; - 授予权限:
GRANT ALL PRIVILEGES ON DATABASE confluencedb TO confluenceuser;
Confluence Linux 安装步骤详解
下面进入实操环节,我们将按照标准的生产环境部署流程进行。
下载安装包与文件权限管理
从 Atlassian 官网下载对应的 .tar.gz 安装包,建议不要直接在 root 用户下运行 Confluence。
- 创建安装目录:
sudo mkdir -p /opt/atlassian/confluence - 创建专用运行用户:
sudo useradd -m -d /opt/atlassian confluence - 将下载的压缩包移动至目标目录并解压:
sudo tar -xzf confluence-x.x.x.tar.gz -C /opt/atlassian/confluence - 关键步骤:修改权限,必须确保
confluence用户拥有安装目录和数据目录的所有权:
sudo chown -R confluence:confluence /opt/atlassian/confluence
创建专用系统用户与目录结构
为了保证安全性,建议将 Confluence 的安装目录 (Installation Directory) 与 本地 Home 目录 (Home Directory) 分开存放,安装目录存放程序文件,Home 目录存放用户上传的附件、索引和配置。
- 安装目录路径示例:
/opt/atlassian/confluence - Home 目录路径示例:
/var/atlassian/application-data/confluence
创建 Home 目录并授权:sudo mkdir -p /var/atlassian/application-data/confluencesudo chown -R confluence:confluence /var/atlassian/application-data/confluence
数据库连接参数预设
在启动 Confluence 前,请记录好你在准备阶段创建的数据库 IP、端口、数据库名、用户名及密码,这些信息将在 Web 端配置向导中输入。
通过 Web 界面完成初始化引导
- 启动 Confluence 服务:
sudo -u confluence /opt/atlassian/confluence/bin/start-confluence.sh - 检查端口监听状态:
netstat -tunlp | grep 8090 - 打开浏览器,访问
http://<你的服务器IP>:8090。 - 配置向导流程:
- 选择 Production Installation(生产环境安装)。
- 选择 Database Setup,输入之前准备好的 PostgreSQL 连接信息。
- 设置管理员账号和密码。
- 选择安装类型(Trial 或 License Key)。
Confluence 性能调优与常见问题处理
安装完成后,如果不进行针对性的参数优化,在高并发访问时系统会出现明显的卡顿。
JVM 内存参数优化方案
Confluence 的默认内存配置通常较小,无法发挥服务器性能,你需要修改 /opt/atlassian/confluence/bin/setenv.sh 文件。
找到 CATALINA_OPTS 变量,根据服务器实际内存进行调整,在 16GB 内存的服务器上,可以配置如下:
-Xms4g -Xmx8g -XX:MaxMetaspaceSize=512m
核心原则:-Xmx(最大堆内存)应设置为物理内存的 50%-70%,并预留足够的空间给操作系统和其他进程。
Confluence Linux 安装报错解决方法
在安装过程中,最常见的报错集中在权限和端口冲突上。
- Permission Denied:通常是因为没有执行
chown命令,导致 Confluence 用户无法写入 Home 目录或日志目录,请检查/var/atlassian/application-data/confluence的权限。 - Port 8090 already in use:说明 8090 端口被其他服务占用,可以通过
lsof -i:8090查看占用进程,或在server.xml中修改 Confluence 的默认端口。 - Database Connection Refused:请检查数据库是否允许远程连接,以及 Linux 防火墙是否放行了数据库端口(如 PostgreSQL 的 5432 端口)。
在 Linux 上部署 Confluence 并非简单的解压运行,它涉及到操作系统选型、Java 环境构建、数据库权限管理以及 JVM 性能调优等多个维度的协同。确保用户权限的一致性与数据库的稳定性是实现生产级部署的核心。
Linux 安装 Confluence 的常见问题解答
安装过程中提示无法创建目录怎么办?
这通常是由于当前运行命令的用户权限不足导致的,请务必使用 sudo chown -R confluence:confluence 命令,将安装目录和 Home 目录的所有权显式授予 Confluence 专用用户,而不是直接使用 root 用户运行服务。
Confluence 占用 CPU 过高是什么原因?
CPU 过高通常由两个原因引起:一是正在进行大规模的全文索引构建(常见于初次启动或大规模数据导入);二是 JVM 频繁进行 Full GC(垃圾回收),建议检查 setenv.sh 中的内存配置,并观察日志文件中的 GC 情况。
如何通过 HTTPS 访问 Confluence?
在 Linux 环境下,最推荐的做法是在 Confluence 前端部署一个 Nginx 反向代理,由 Nginx 处理 SSL 证书并监听 443 端口,然后将请求转发到本地的 8090 端口,这种方式比直接在 Confluence 内部配置 SSL 更加高效且易于证书管理。
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/489681.html



