安装 OpenResty Edge
1. 架构说明
OpenResty Edge 主要包含三个角色(Node,Admin,Log-Server),三者的架构如下图:
- Node 承担具体的网关角色
- Admin 用于控制管理 Node
- Log-Server 主要用于处理日志:存储、查看
2. 集群配置
对于规模在 10 个节点左右的集群,我们推荐:
- Admin 和 Admin DB 部署在一台机器。
- Log Server 和 Log-Server DB 部署在一台机器上。
以后规模更大了,再分开部署。 同时为了数据安全,我们建议两个机器上分别起一个对方 DB 的从库:
- Admin DB 机器上起一个 Log Server DB 的从库。
- Log Server DB 机器上起一个 Admin DB 的从库。
Admin 和 Log-Server 端配置: 推荐使用配置是 4 核,16G 内存以及 200G SSD 硬盘的机器。 Node 端配置:相对灵活,取决于业务量,大致是 1 cpu core 搭配 2g 内存,比如 8c16g,200G 硬盘。
3. 安装流程
注意:安装前需要准备以下文件/信息:
init_admin_db_VERSION.sh
init_log_server_db_VERSION.sh
openresty-edge-config-VERSION.rpm
或openresty-edge-config-VERSION.deb
3.1 设置防火墙白名单
我们会访问如下公网地址,如果贵司有网络出口防火墙的话,需要开启如下白名单
openresty.com 443
openresty.org 443
pkg.openresty.com 443
api.openresty.com 443
3.2 PostgreSQL 安装
内网端口需要开放 5432
。
-
复制
openresty-edge-config
包到当前目录 -
下载安装脚本:
curl -O https://openresty.com/client/oredge/install-edge-postgresql.sh
如果得到一条类似下面的信息:
curl: command not found
可能是系统里面没有安装
curl
或者是系统的 shell 程序没有包含curl
的搜索路径。你可以使用绝对路径来重试:
/usr/bin/curl -O https://openresty.com/client/oredge/install-edge-postgresql.sh
你的系统的路径可能不同,请联系你的网站管理员或使用
which bash
等命令来检查路径以纠正这种情况。 -
安装并初始化 Admin DB:
# 安装 sudo /bin/bash install-edge-postgresql.sh # 初始化 # 替换 VERSION 为实际版本号 /bin/bash init_admin_db_VERSION.sh
-
安装并初始化 Log Server DB:
如果你正在构建的是生产环境,我们建议在不同的机器上安装 Admin DB 和 Log Server DB 。
# 安装 sudo /bin/bash install-edge-postgresql.sh # 初始化 # 替换 VERSION 为实际版本号 /bin/bash init_log_server_db_VERSION.sh
3.3 Admin Web 安装
需要开放 443
和 12345
两个端口 (443
提供管理后台,12345
用于与 Node 端通讯)
-
复制
openresty-edge-config
包到当前目录 -
下载安装脚本:
curl -O https://openresty.com/client/oredge/install-edge-admin.sh
-
执行安装脚本:
sudo /bin/bash install-edge-admin.sh
-
配置证书和私钥(没有也可以先跳过)
/usr/local/oredge-admin/conf/ssl/ssl.crt /usr/local/oredge-admin/conf/ssl/ssl.key
-
修改配置:(如果 PostgreSQL, Admin, Log-Server 复用同一个机器,可以直接使用默认配置)
# 这个文件后续的升级也不会自动覆盖,请注意行首不要留空格 sudo vim /usr/local/oredge-admin/conf/config.ini
需要修改的配置:
1.对应的 PostgreSQL 地址
2.Log-Server 地址
-
重启服务
sudo systemctl reload oredge-admin
此时 Admin 应该可以正常使用了(我们只开了 HTTPS) https://your-admin.com/
-
登录账号:
admin
-
获取登录密码:(请在登录成功后,修改密码)
grep -rs "password :" init_admin_db_VERSION.sh
3.4 配置两份 admin-web 服务(可选)
如果希望提高 admin-web 的可用性,可以考虑部署两份 admin-web 服务,配置为双主。 步骤是:
-
按照上面的步骤 3 再安装一套 admin-web 软件
-
修改配置
# 这个文件后续的升级也不会自动覆盖,请注意行首不要留空格 sudo vim /usr/local/oredge-admin/conf/config.ini
需要修改 clone_admin 下的 host 字段,每个 admin-web 配置另外一个 admin-web 服务的地址。
修改后重启 admin-web 服务,此时两个 admin-web 服务是双主模式,访问任意一个 admin-web 都是一样的效果。
3.5 Log-Server 安装
需要开放 12346
和 8089
两个端口 (12346
用于与 Node 端通讯,8089
用于与 Admin 通讯)
-
复制
openresty-edge-config
包到当前目录 -
下载安装脚本:
curl -O https://openresty.com/client/oredge/install-edge-log-server.sh
-
执行安装脚本:
sudo /bin/bash install-edge-log-server.sh
-
修改配置:(如果 PostgreSQL, Admin, Log-Server 复用同一个机器,可以直接使用默认配置)
# 这个文件后续的升级也不会自动覆盖,请注意行首不要留空格 sudo vim /usr/local/oredge-log-server/conf/config.ini
需要修改的配置:
1.对应的 PostgreSQL 地址
2.Admin 地址
-
重启服务
sudo systemctl reload oredge-log-server
-
此时在 Admin 的 【控制面板】-【-日志】下应该能获取到日志。
3.6 Node 安装
-
复制
openresty-edge-config
包到当前目录 -
下载安装脚本:
curl -O https://openresty.com/client/oredge/install-edge-node.sh
-
执行安装脚本:
sudo /bin/bash install-edge-node.sh
-
修改配置:
# 这个文件后续的升级也不会自动覆盖,请注意行首不要留空格 sudo vim /usr/local/oredge-node/conf/config.ini
需要修改的配置:
1.Admin 地址
2.Log-Server 地址
如果配置了双主 admin-web 服务,可以配置
admin
段下的host2
字段。 node 会随机使用host
和host2
(与配置顺序无关),并且当某一个 admin-web 宕机的时候,会自动切换到另外一个 admin-web 服务。 -
重启服务
sudo systemctl reload oredge-node
至此全套的 OpenResty Edge 已经搭建完毕
4. 开始使用
有问题请与我们随时沟通!