在Windows服务器上安装DHIS2
最近,一所大学联系我,询问他们如何在刚刚收到的Windows服务器上安装DHIS2。由于互联网上提供的大多数教程都讨论在运行Linux发行版的服务器上安装DHIS2,他发现很难遵循这些教程中列出的步骤。
我决定为任何对学习如何在Windows服务器上安装DHIS2感兴趣的人编写这篇小教程。
什么是DHIS2?
对于那些不熟悉的人,DHIS2是一个健康信息管理系统,用于收集、分析、报告和传播聚合的和个人级别的健康数据。
DHIS2由奥斯陆大学开发,并在BSD许可下发布,作为全球社区支持的自由和开源软件。
硬体
我安装的DHIS2是一台Amazon LightSail虚拟机,运行Windows Server2019,内存为2 GB,硬盘空间为60 GB。
这些步骤
下载并安装Java
第一步是安装Java。
DHIS2需要Java 11才能运行,下载与您的系统要求匹配的正确JDK非常重要,我最初的尝试失败了,因为我错误地下载了为32位计算机设计的Java运行时环境(JRE),然而,Windows服务器是一台64位计算机。
我建议按照下面的链接在Windows服务器上下载并安装Microsoft版本的OpenJDK。
https://lt.techopen.info/data/images/2023-04-01/165e1e4df59d7da3f67b5ebac9c09487.jpg
尽量避免下载较新版本的JDK,因为您可能会遇到错误,因为在撰写本文时,DHIS2当前支持Java 11。
下载并安装Postgres
DHIS2需要PostgreSQL作为数据库管理系统,因此您必须下载并安装PostgreSQL并将其安装在您的计算机上。
您可以通过此链接下载并安装Postgres for Windows,我建议您下载并安装用于DHIS2的PostgreSQL版本14。
https://lt.techopen.info/data/images/2023-04-01/15b4f6cad789abb68f778d8c36b93a5f.jpg
下载安装程序并在您的Windows服务器上安装PostgreSQL。安装Postgres之后,重要的是安装PostGIS扩展,这是DHIS2正常运行所必需的。
你可以通过打开“Stack Builder”应用程序来安装PostGIS,你可以在开始菜单中的Postgres下找到它。
从Stack Builder应用程序中,选择最新的PostGIS版本作为要安装的版本,在向导结束时,Stack Builder将在您的Windows服务器上安装PostGIS。
设置Postgres用户和Postgres数据库
为DHIS2创建非超级用户postgres用户
通过从开始菜单打开SQL外壳(Psql)应用程序来访问PostgreSQL外壳。
创建名为的用户DHIS
使用以下命令。
创建用户DHIS;
使用用户名创建用户后DHIS
更改用户的权限,使其与Ubuntu的DHIS2安装文档中提供的权限匹配。
用NOCREATEDB NOCREATEROLE更改用户DHIS;
接下来,更改我们在上面创建的postgres用户的密码。在本教程中,我使用的密码是dhis2。但是,我建议在生产环境中实现DHIS2时使用强密码。
更改密码为‘dhis2’的用户dhim;
为DHIS2创建数据库
下一步是创建将存储DHIS2实例数据的数据库。要创建数据库,请在您的PostgreSQL外壳程序(PSQL)上运行以下命令。
在本教程中,我将创建一个名为Dhis2
。
创建数据库dhis2;
您刚刚创建的数据库仍然由默认的postgres超级用户postgres拥有,下一步涉及将数据库的所有权移交给DHIS
我们在上面的步骤中刚刚创建的用户。
要转移数据库的所有权,请在postgres外壳上执行以下命令。
将数据库dhis2所有者更改为dhim;
现在我们已经将数据库的所有权转移给了新创建的用户,我们必须在新创建的dhis2数据库上加载PostGIS扩展。
加载PostGIS扩展模块之前,首先将活动数据库更改为新创建的Dhis2
数据库。
\连接dhis2;
切换数据库后,将POSTGIS扩展加载到Dhis2
通过在psql外壳中运行以下命令,
创建扩展邮政编码;
创建DHIS2配置文件
创建名为的DHIS2配置文件Dhis.conf
在名为的文件夹中DHIS2_HOME\CONFIG
内部C:
Windows服务器的驱动器。
#--------------------
#数据库连接
#--------------------
#JDBC驱动程序类
Connection.DRIVER_CLASS=org.postgresql.驱动程序
#数据库连接URL
Connection.url=jdbc:postgreSQL:dhis2
#数据库用户名
Connection.Username=dhim
#数据库密码
Connection.password=dhis2
#--------------------
#服务端
#--------------------
#如果部署在HTTPS上,则启用安全设置,默认为‘OFF’,可以为‘ON’
#server.https=on
#服务器基本URL
#server.base.url=https://server.com
替换Connection.username
使用我们创建的postgres用户的用户名DHIS
,并替换Connection.password
中提供postgres用户的密码。Connection.username
参数。
下载并设置Tomcat-9
在本教程中,我们将使用Tomcat托管DHIS2实例,您可以通过Apache网站下载Tomcat。
https://lt.techopen.info/data/images/2023-04-01/81a1806513d374e09cde6153b672fc43.jpg
我建议您使用Tomcat9,但我认为使用Tomcat10运行DHIS2实例不会有问题。
下载Tomcat9实例并将文件解压缩到一个首选位置。下一步涉及更改Tomcat9服务器的设置以运行DHIS2。
更改Tomcat 9的设置以运行DHIS2
首先,我们必须指向DHIS2配置文件的位置,打开Context.xml
文件,并在XML文件的上下文块中添加以下值,并将路径设置为指向Dhis.conf
您创建的文件。
您只需指向包含Dhis.conf
文件,DHIS2将在启动Tomcat服务器时自动加载配置
接下来,打开解压缩的Tomcat文件夹中的server.xml文件,并设置宽松的QueryChars
中的值连接器
财产。您还可以指定DHIS2运行的端口。ApacheTomcat的默认端口为8080。但是,您始终可以使用带有nginx的反向代理来去除端口号。
<连接器端口=“8080”协议=“HTTP/1.1”
连接超时=“20000”
重定向端口=“8443”
RELAXEDQUERCHARS=“[]”/>
最后,我们必须在Tomcat上设置环境变量,打开Setenv.bat
中的文件。箱子
解压缩的Tomcat文件夹的文件夹(如果没有Setenv.bat
文件,创建一个新的Setenv.bat
中的文件。箱子
文件夹中有您最喜欢的文本编辑器。
JAVA_HOME |
指向您的Java安装的路径 |
JAVA_OTS |
为DHIS2实例分配的最大和最小内存 |
DHIS2_HOME |
DHIS2配置文件夹的位置 |
您可以按照下面的代码片段在setenv.bat文件中设置环境变量。
设置“JAVA_HOME=C:\Program Files\OpenJDK\JDK-11.0.18.10-HotSpot”
设置“JAVA_OPTS=-Xms500M-Xmx1000M”
设置“DHIS2_HOME=C:\DHIS2_HOME\CONFIG”
设置DHIS2_HOME
中的环境变量Setenv.bat
文件是指向DHIS2配置文件位置的另一种方式,我们通过设置DHIS2_HOME
中的值Context.xml
在上述步骤之一中创建文件。
这个JAVA_OTS
设置可以分配给Tomcat服务器的最小和最大内存(RAM)。在那里-Xms
时分配的最小内存。-XMX
是分配的最大内存量。您将以MB为单位设置该值。在本例中,因为我们的服务器是2 GB的Windows服务器,所以我将最小分配内存设置为500MB,将最大分配内存设置为1000MB。
分配的最大内存应该小于系统内存,并且您必须为操作系统和其他进程留出一些内存。因此,根据您可以使用的系统内存量,为系统进程保留2-3 GB是一种好的做法。
下载DHIS2 WAR文件
您可以从DHIS2官方网站下载DHIS2 WAR文件,
https://lt.techopen.info/data/images/2023-04-01/dfd2446d3c09f44156cfd95e765f9280.jpg
在撰写本文时,我安装在Windows服务器上的最新可用版本是2.39。
复制下载的内容战争
文件放入到Web应用程序
Tomcat服务器的文件夹。
启动Tomcat服务器
要启动Tomcat服务器,请在Windows服务器上打开PowerShell,使用cd命令将目录切换到Tomcat服务器,然后运行/bin/Startup.bat
来自PowerShell的文件。一旦服务器启动,您将能够通过从Windows服务器中的浏览器导航到本地主机:8080来访问DHIS2安装。./Startup.Bat
./Startup.Bat
停止Tomcat服务器
停止Tomcat服务器类似于启动服务器,只需运行/bin/Shudown.bat
PowerShell中的Tomcat文件夹中的文件,它将关闭Tomcat服务器。
./Shudown.bat
如果有任何关于在Windows服务器上安装DHIS2的问题,请留下您的问题作为评论。