DNS域名配置
为Pigsty Web服务配置自定义域名
Pigsty默认通过域名访问所有Web系统,尽管您可以使用 IP:Port的方式访问主要系统的Web界面,但这并不是推荐的行为。
因为有一些Web服务(例如Consul)监听的地址是 127.0.0.1
而非 0.0.0.0
,因此您只能通过本机上的Nginx代理访问,并使用域名来区分。
太长;不看
在MacOS与Linux中,执行以下命令 bin/dns
,配置Pigsty所需的DNS记录
sudo make dns
实际上是将以下记录写入 /etc/hosts
中(需要输入sudo密码),在Windows中则自行添加至:C:\Windows\System32\drivers\etc\hosts
中。
# pigsty dns records
10.10.10.10 meta pigsty p.pigsty g.pigsty a.pigsty c.pigsty l.pigsty
10.10.10.10 api.pigsty adm.pigsty cli.pigsty ddl.pigsty lab.pigsty git.pigsty sss.pigsty
10.10.10.11 node-1 # sandbox node node-1
10.10.10.12 node-2 # sandbox node node-2
10.10.10.13 node-3 # sandbox node node-3
10.10.10.2 pg-meta # sandbox vip for pg-meta
10.10.10.3 pg-test # sandbox vip for pg-test
默认域名
默认情况下,Pigsty使用的域名包括:
10.10.10.10 meta pigsty p.pigsty g.pigsty a.pigsty c.pigsty l.pigsty # 必选
10.10.10.10 api.pigsty adm.pigsty cli.pigsty ddl.pigsty lab.pigsty git.pigsty sss.pigsty
所有Web服务的域名均通过 nginx_upstream
进行配置,例如,沙箱demo的域名配置如下:
nginx_upstream: # domain names and upstream servers
- { name: home , domain: pigsty , endpoint: "10.10.10.10:80" }
- { name: grafana , domain: g.pigsty , endpoint: "10.10.10.10:3000" }
- { name: loki , domain: l.pigsty , endpoint: "10.10.10.10:3100" }
- { name: prometheus , domain: p.pigsty , endpoint: "10.10.10.10:9090" }
- { name: alertmanager , domain: a.pigsty , endpoint: "10.10.10.10:9093" }
- { name: consul , domain: c.pigsty , endpoint: "127.0.0.1:8500" } #== ^ required ==#
- { name: postgrest , domain: api.pigsty , endpoint: "127.0.0.1:8884" } #== v optional ==#
- { name: pgadmin , domain: adm.pigsty , endpoint: "127.0.0.1:8885" }
- { name: pgweb , domain: cli.pigsty , endpoint: "127.0.0.1:8886" }
- { name: bytebase , domain: ddl.pigsty , endpoint: "127.0.0.1:8887" }
- { name: jupyter , domain: lab.pigsty , endpoint: "127.0.0.1:8888" }
- { name: gitea , domain: git.pigsty , endpoint: "127.0.0.1:8889" }
- { name: minio , domain: sss.pigsty , endpoint: "127.0.0.1:9000" }
配置自定义域名
您可以定制Pigsty各自系统使用的域名,例如在Pigsty的公开Demo中,就使用了不同的域名,并由互联网DNS服务商负责解析
nginx_upstream: # domain names and upstream servers
- { name: home , domain: home.pigsty.cc , endpoint: "10.10.10.10:80" } # default -> index.html (80)
- { name: grafana , domain: demo.pigsty.cc , endpoint: "10.10.10.10:3000" } # pigsty grafana (3000)
- { name: loki , domain: l.pigsty.cc , endpoint: "10.10.10.10:3100" } # pigsty loki (3100)
- { name: prometheus , domain: p.pigsty.cc , endpoint: "10.10.10.10:9090" } # pigsty prometheus (9090)
- { name: alertmanager , domain: a.pigsty.cc , endpoint: "10.10.10.10:9093" } # pigsty alertmanager (9093)
- { name: consul , domain: c.pigsty.cc , endpoint: "127.0.0.1:8500" } # pigsty consul UI (8500) (domain required)
- { name: postgrest , domain: api.pigsty.cc , endpoint: "127.0.0.1:8884" } #== v optional ==#
- { name: pgadmin , domain: adm.pigsty.cc , endpoint: "127.0.0.1:8885" }
- { name: pgweb , domain: cli.pigsty.cc , endpoint: "127.0.0.1:8886" }
- { name: bytebase , domain: ddl.pigsty.cc , endpoint: "127.0.0.1:8887" }
- { name: jupyter , domain: lab.pigsty.cc , endpoint: "127.0.0.1:8888" }
- { name: gitea , domain: git.pigsty.cc , endpoint: "127.0.0.1:8889" }
- { name: minio , domain: sss.pigsty.cc , endpoint: "127.0.0.1:9000" }
如果您没有购买互联网域名,则可以自定义的域名配置到您自己网络的DNS服务器中,或者干脆写入需要访问Pigsty Web服务的服务器的静态解析记录中。
例如在Nginx与MacOS上,您需要将上述域名记录写入 /etc/hosts
(需要sudo权限),在Windows中,则需要添加至:C:\Windows\System32\drivers\etc\hosts
中。
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.
最后修改 2022-05-27: init commit (1e3e284)