生产环境原生部署流程
# 前言
生产环境部署,建议暂时用原生方式进行部署,其中 MySQL 与 openLDAP 外置单独部署,这里不再赘述,默认已经准备好了。
这里罗列当下默认配置,其他系统请自行根据情况进行相应调整。
- 系统:CentOs7 系统
- MySQL:5.7
- openLDAP:1.14.0
- OpenResty:1.21.4.1-0
- 域名:demo-go-ldap-admin.eryajf.net
# 制品获取
以下文档为旧版,其中制品的获取是通过下载源码之后,编译得来,现在已经对前后端增加了自动构建制品的能力,因此下边编译项目的步骤你可以忽略,参考这里的步骤,直接通过下载 release 中的制品即可获得。
现在后端已经把前端 embed,因此只需要启动后端二进制即可。
# 下载二进制
你可以在这里 (opens new window)找到最新版本:
$ wget https://github.com/eryajf/go-ldap-admin/releases/download/v0.5.9/go-ldap-admin-v0.5.9-linux-amd64.tar.gz
$ tar xf go-ldap-admin-v0.5.9-linux-amd64.tar.gz
1
2
2
其中后端制品解压之后,包含内容如下:
$ tree -N
.
├── LICENSE
├── README.md
├── config.yml
├── go-ldap-admin
└── go-ldap-admin-v0.5.9-linux-amd64.tar.gz
0 directories, 5 files
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# 部署后端
# 更改配置
根据实际情况调整配置文件内容。
$ vim config.yml
1
# systemd 管理
基于 systemd 进行管理:
$cat /usr/lib/systemd/system/go-ldap-admin.service
[Unit]
Description=Go Ldap Admin Service
[Service]
WorkingDirectory=/data/www/go-ldap-admin.eryajf.net/
ExecStart=/data/www/go-ldap-admin.eryajf.net/go-ldap-admin
[Install]
WantedBy=multi-user.target
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 启动项目
$ systemctl daemon-reload
$ systemctl start go-ldap-admin
$ systemctl status go-ldap-admin
1
2
3
2
3
# 验证服务
启动之后项目将会监听本地 8888 端口,通过如下请求可验证后端是否可用:
$ curl -s localhost:8888/api/base/ping | jq
{
"code": 200,
"data": "pong",
"msg": "ok"
}
1
2
3
4
5
6
2
3
4
5
6
# OpenResty 配置
在 OpenResty 中添加如下配置,代理本项目:
$ cat /etc/nginx/vhost/demo-go-ldap-admin.eryajf.net.conf
server {
listen 80;
server_name demo-go-ldap-admin.eryajf.net;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:8888;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
配置重载之后,即可在浏览器通过 http://demo-go-ldap-admin.eryajf.net (opens new window) 进行访问。
帮助我们改善此页面 (opens new window)
上次更新: 2024/04/05, 20:20:36