指南安装
独立数据库服务器
在两台不同的机器上分别运行 Web 服务器和 MariaDB 数据库。
默认情况下,安装程序会将 Web 服务器和数据库放在同一台机器上(MODE=all)。你也可以将它们拆分到两台服务器上,例如为了分担负载,或者因为数据库已经位于别处。每台服务器分别安装,并选择各自的模式。
MODE | 在该服务器上安装的内容 |
|---|---|
all (默认) | Web 服务器 + PHP + MariaDB,全部在一起。 |
web | 仅 Web 服务器 + PHP + 应用;连接远程数据库(DB_HOST)。不安装 MariaDB。 |
db | 仅对网络开放的 MariaDB(绑定 0.0.0.0,3306 端口),以及数据库和用户。不安装 Web 服务器,也不部署代码。 |
如果未设置 MODE,安装程序会询问(一体化 / 仅 Web / 仅数据库)。
示例
本例中数据库服务器为 10.0.0.5,Web 服务器为 10.0.0.4。请按以下顺序安装。
数据库服务器
在 10.0.0.5 上安装,并只授权 Web 服务器访问:
curl -fsSL https://3r.com.pa/hwdpos_inst/bootstrap.sh | sudo MODE=db DB_ALLOW=10.0.0.4 bashDB_ALLOW 是获得授权的 Web 服务器 IP。省略时允许任何 IP(%)。
安装程序会设置 bind-address,在防火墙中开放 3306 端口(如果设置了 DB_ALLOW,则只对该地址开放),创建数据库和用户,并在最后输出主机、数据库、用户和密码。请记下这些信息。它们也会保存在 /root/HWDPOS-DB-CREDENTIALS.txt 中,因为仅数据库的服务器上没有应用文件夹。
Web 服务器
在 10.0.0.4 上安装,并指向数据库服务器:
curl -fsSL https://3r.com.pa/hwdpos_inst/bootstrap.sh | sudo MODE=web DB_HOST=10.0.0.5 bash这里不安装 MariaDB。安装程序会安装用于诊断的数据库客户端,并测试到 DB_HOST:3306 的连接。
如果不通过网络命令,而是直接运行安装脚本,同样适用这些变量:
sudo MODE=db DB_ALLOW=10.0.0.4 bash install-ubuntu.sh
sudo MODE=web DB_HOST=10.0.0.5 HWPOS_ZIP=/root/HWDPOS.zip bash bootstrap.sh安全
只对 Web 服务器的 IP(DB_ALLOW)开放 3306 端口,绝不要暴露到互联网。理想情况下,两台服务器应位于同一个私有局域网或 VLAN 中。
提示
- 在数据库服务器上也接受时区问题,以使时间戳一致。
- 在数据库服务器上使用
WITH_PRINTING=no:它不需要打印。 check.sh会自动检测模式。在仅 Web 的服务器上,它不会因本地缺少 MariaDB 而报错,并通过DB_HOST=<ip>测试远程数据库;在仅数据库的服务器上,它会检查 MariaDB 以及其是否在 3306 端口监听。可以用MODE=web|db|all强制指定。参见 check.sh 诊断。