跳转至
For the complete DHIS2 documentation index, see llms.txt.

部署架构{ #deployment-architectures }

介绍

DHIS2 应用程序可以使用不同的架构进行部署,包括单服务器、分布式、混合、Docker 和带 Kubernetes 的 Docker。架构的选择取决于各种因素,如简单性、管理复杂性、可扩展性、可维护性和性能。

架构{ #the-architectures }

单服务器模式

:使用 lxd 容器,需要将 ansible_connection 变量设置为 lxd

已分发

dhis2 应用堆栈运行在各自的服务/虚拟机,例如,数据库服务器在自己的虚拟机上运行。

混合模式

:一个很好的例子是,在同一台服务器上,postgres 运行在自己的专用机器上,而 dhis2 tomcat 实例则运行在同一台服务器上。

单服务器架构{ #single-server-architecture }

在此设置中,所有组件都运行在同一台服务器上。我们使用 LXD 容器来分离应用程序组件。这些容器分别用于 PostgreSQL、监控、实例和代理,从而提高了安全性和资源分配。这是 ansible 工具的默认选择,在清单文件中设置了 ansible_connection=lxd 变量。

特色{ #features }

  • 简约
  • 易于管理
  • 性能

缺点{ #drawbacks }

  • 可扩展性--在这种设置中,扩展单个组件具有挑战性
  • 可维护性
  • 灵活性--不如分布式设置灵活

分布式架构{ #distributed-architecture }

在这里,组件运行在各自的专用服务器上。要让工具支持这种架构,你需要一个部署服务器来执行 Ansible 脚本。部署服务器必须与其他主机有 SSH 连接。可以使用命令测试 SSH 连接:ansible all -m ping -u<ssh_user> -k。确保将 ansible_connection 参数设置为 SSH,即 ansible_connection=ssh,并确保在清单文件中正确配置了主机的 IP 地址。

要开始安装,请按照以下步骤操作:

命令 描述
sudo ufw limit 22
sudo ufw enable
打开主机防火墙上的 ssh 端口,
,如果使用非默认 ssh 端口,则将其更改为 22
cd dhis2-server-tools/deploy/`` cd 进入 dhis2-server-tools/deploy/ 目录
vim inventory/hosts 编辑清单 hosts 文件并设置 ansible_connection=ssh
ansible-playbook dhis2.yml -u=<your_ssh_user> -Kk -K:提示输入 sudo 密码
-k:提示输入 ssh 密码
-u:ssh 连接的用户名

<your_ssh_user> 替换为主机的相应 SSH 用户。

ansible_connection=ssh

优势{ #strengths }

  • 可扩展性--更容易独立扩展各个组件。
  • 故障隔离 - 由于事物是解耦的,因此可以很容易地隔离故障。
  • 模块化 - 比单一服务器设置更具模块化。
  • 比单一服务器架构更灵活。

混合{ #hybrid }

也可以采用一种平衡的方法,即数据库服务器是隔离的,而其他一切都运行在一台服务器上。这样就能同时享受两种配置的优势。

Docker、lxd 和 kubernetes{ #docker-lxd-and-kubernetes }

还有其他新兴架构利用 Docker 和 Kubernetes 作为容器协调层。