【更新】中心化逻辑部署 Easytier
This commit is contained in:
parent
e049f32c70
commit
c5cc6b27f2
@ -23,46 +23,32 @@ Easytier 也类似,只不过你需要分开部署。下面的步骤中,“
|
|||||||
|
|
||||||
### 说明
|
### 说明
|
||||||
|
|
||||||
1. 管理后台用的 easytier-web 这个二进制文件启动
|
1. 管理后台用的 easytier-web-embed 这个二进制文件启动
|
||||||
2. 管理后台运行时启动了两个服务:config-server 和 api-server
|
2. 管理后台运行时启动了三个服务:config-server、api-server 和 web-server
|
||||||
3. config-server 是你节点需要连接的,类似于你用 `tailscale up` 的 `--login-server` 参数,或是 `netbird up` 的 `--management-url`
|
3. config-server 是你节点需要连接的,类似于你用 `tailscale up` 的 `--login-server` 参数,或是 `netbird up` 的 `--management-url`
|
||||||
4. api-server 就是官方[这个 Dashboard](https://easytier.cn/web) 的后端
|
4. api-server 就是官方[这个 Dashboard](https://easytier.cn/web) 的后端
|
||||||
5. 自建的话就是自建这个后端,然后前台 Dashboard 网页也是需要部署的,你的 API 地址和前端的根域名必须要一致
|
5. web-server 就是官方[这个 Dashboard](https://easytier.cn/web) 的前端
|
||||||
6. 自建后端 + Dashboard 就等于 Netbird、Tailscale 那个 Web 管理页面,可以管理设备,设置子网路由
|
6. 自建前后端 就等于 Netbird、Tailscale 那个 Web 管理页面,可以管理设备,设置子网路由
|
||||||
|
|
||||||
### 具体步骤
|
### 具体步骤
|
||||||
|
|
||||||
**部署后端**
|
1. 下载 GitHub Release 里的压缩包,里面有一个 easytier-web-embed
|
||||||
|
2. 执行 `sudo chmod +x easytier-web-embed` 使其可被执行后,执行 `./easytier-web-embed --help` 后可以看到参数说明,你可以修改 config-server、 api-server 和 web-server 各自的端口
|
||||||
1. 下载 GitHub Release 里的压缩包,里面有一个 easytier-web
|
|
||||||
2. 执行 `sudo chmod +x easytier-web` 使其可被执行后,执行 `./easytier-web --help` 后可以看到参数说明,你可以修改 config-server 和 api-server 各自的端口
|
默认直接运行 `./easytier-web-embed` 即可,后续测试没问题后再部署成服务
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
默认直接运行 `./easytier-web` 即可,后续测试没问题后再部署成服务
|
|
||||||
|
|
||||||
3. 部署完后需要对 api-server 这个 RESTful API 进行反代 https 加密,套上你自己的域名
|
|
||||||
4. 至此,你部署出来了两个服务
|
|
||||||
|
|
||||||
|
3. 部署完后需要对 api-server 和 web-server 进行反代 https 加密,套上你自己的域名。这两个默认端口一样,可以只做一个反代规则,公用一个域名
|
||||||
|
4. 至此,你部署出来了三个服务
|
||||||
|
|
||||||
| 服务 | 说明 | 端口 | 协议 |
|
| 服务 | 说明 | 端口 | 协议 |
|
||||||
| --- | --- | --- | --- |
|
| --- | --- | --- | --- |
|
||||||
| api-server | 后面前端需要连接的 | 默认 11211,tcp,反代后那就是你自己 https 的端口 | tcp |
|
| api-server | 后面前端需要连接的 | 默认 11211,tcp,反代后那就是你自己 https 的端口 | tcp |
|
||||||
|
| web-server | 前端 dashboard | 默认 11211,tcp,反代后那就是你自己 https 的端口 | tcp |
|
||||||
| config-server | 后续节点需要链接的,需要你服务器防火墙单独开放这个端口 | 默认 22020,udp | udp |
|
| config-server | 后续节点需要链接的,需要你服务器防火墙单独开放这个端口 | 默认 22020,udp | udp |
|
||||||
|
|
||||||
**部署前端**
|
5. 打开反代的域名,就可以看到官方同款的 Dashboard 了,API Host 那里由于前面把两个服务反代成同一个域名,所以还写同域名即可
|
||||||
|
|
||||||
1. 拉下代码仓库,进入 easytier-web/frontend 文件夹
|
|
||||||
2. 执行下面两个命令编译出 html 文件(需要你有前端编译环境,若没有自行安装 node.js)
|
|
||||||
|
|
||||||
```bash
|

|
||||||
pnpm -r install
|
|
||||||
pnpm -r build
|
|
||||||
```
|
|
||||||
|
|
||||||
3. 把 easytier-web/frontend/dict 里的 html 文件部署到服务器上就可以用了。注意你前台的根域名和 API 后端的根域名要一样
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
4. 注册并登陆,就能看到控制台了
|
4. 注册并登陆,就能看到控制台了
|
||||||
|
|
||||||
@ -193,28 +179,28 @@ Easytier 也类似,只不过你需要分开部署。下面的步骤中,“
|
|||||||
|
|
||||||
| 名称 | 二进制程序 | 设备 |
|
| 名称 | 二进制程序 | 设备 |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
| 网页服务 api-server + config-server | easytier-web | A |
|
| 网页服务 api-server + config-server + web-server | easytier-web-embed | A |
|
||||||
| 自建公共服务转发机 | easytier-core | B(也可以跟 A 放一起) |
|
| 自建公共服务转发机 | easytier-core | B(也可以跟 A 放一起) |
|
||||||
| 其他入网设备 | easytier-core | C |
|
| 其他入网设备 | easytier-core | C |
|
||||||
|
|
||||||
### 注册为 systemd 服务
|
### 注册为 systemd 服务
|
||||||
|
|
||||||
所以我们需要在设备 A 上将 `./easytier-web` 这个命令注册为服务,在 B 和 C 上将 `./easytier-core --config-server udp://1.2.3.4:22020/abc` 这个命令注册为服务
|
所以我们需要在设备 A 上将 `./easytier-web-embed` 这个命令注册为服务,在 B 和 C 上将 `./easytier-core --config-server udp://1.2.3.4:22020/abc` 这个命令注册为服务
|
||||||
|
|
||||||
**注册 easytier-web**
|
**注册 easytier-web-embed**
|
||||||
|
|
||||||
1. 移动二进制文件并设置执行权限
|
1. 移动二进制文件并设置执行权限
|
||||||
|
|
||||||
```
|
```
|
||||||
sudo mv easytier-web /usr/local/bin/easytier-web
|
sudo mv easytier-web-embed /usr/local/bin/easytier-web-embed
|
||||||
sudo chmod +x /usr/local/bin/easytier-web
|
sudo chmod +x /usr/local/bin/easytier-web-embed
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
2. 创建 systemd 服务单元文件
|
2. 创建 systemd 服务单元文件
|
||||||
|
|
||||||
```
|
```
|
||||||
sudo nano /etc/systemd/system/easytier-web.service
|
sudo nano /etc/systemd/system/easytier-web-embed.service
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -222,12 +208,12 @@ Easytier 也类似,只不过你需要分开部署。下面的步骤中,“
|
|||||||
|
|
||||||
```
|
```
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=easytier-web Service
|
Description=easytier-web-embed Service
|
||||||
After=network.target
|
After=network.target
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=simple
|
Type=simple
|
||||||
ExecStart=/usr/local/bin/easytier-web
|
ExecStart=/usr/local/bin/easytier-web-embed
|
||||||
User=root
|
User=root
|
||||||
Restart=on-failure
|
Restart=on-failure
|
||||||
RestartSec=5
|
RestartSec=5
|
||||||
@ -249,22 +235,22 @@ Easytier 也类似,只不过你需要分开部署。下面的步骤中,“
|
|||||||
让该服务在开机时自动启动:
|
让该服务在开机时自动启动:
|
||||||
|
|
||||||
```
|
```
|
||||||
sudo systemctl enable easytier-web
|
sudo systemctl enable easytier-web-embed
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
启动该服务:
|
启动该服务:
|
||||||
|
|
||||||
```
|
```
|
||||||
sudo systemctl start easytier-web
|
sudo systemctl start easytier-web-embed
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
你可以使用下面的命令查看服务状态和日志:
|
你可以使用下面的命令查看服务状态和日志:
|
||||||
|
|
||||||
```
|
```
|
||||||
systemctl status easytier-web
|
systemctl status easytier-web-embed
|
||||||
journalctl -u easytier-web -f
|
journalctl -u easytier-web-embed -f
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -341,15 +327,15 @@ Easytier 也类似,只不过你需要分开部署。下面的步骤中,“
|
|||||||
|
|
||||||
### 使用 docker 部署
|
### 使用 docker 部署
|
||||||
|
|
||||||
**注册 easytier-web**
|
**注册 easytier-web-embed**
|
||||||
|
|
||||||
运行下面的命令启动
|
运行下面的命令启动
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker run -d --entrypoint easytier-web -v /yourpath/data:/app -p 11211:11211 -p 22020:22020/udp easytier/easytier:latest
|
docker run -d --entrypoint easytier-web-embed -v /yourpath/data:/app -p 11211:11211 -p 22020:22020/udp easytier/easytier:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
主要就是重新指定了 entrypoint,使用 easytier-web 启动
|
主要就是重新指定了 entrypoint,使用 easytier-web-embed 启动
|
||||||
|
|
||||||
-v 路径映射根据自己的情况修改,/app 不要改,这个可以在 docker hub 上看到他默认的 workdir
|
-v 路径映射根据自己的情况修改,/app 不要改,这个可以在 docker hub 上看到他默认的 workdir
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user