ge
Build and publish Jiaowu packages and container image / Test, package and publish (push) Successful in 29m11s
Build and publish Jiaowu packages and container image / Test, package and publish (push) Successful in 29m11s
xiufu
This commit is contained in:
@@ -80,6 +80,68 @@ Kubernetes 或密钥管理系统仍可覆盖文件中的值。
|
||||
`chmod 600 .env`,Windows 应通过 ACL 只允许服务账号和管理员读取。连接串中的证书
|
||||
路径必须是运行服务器上的实际路径。
|
||||
|
||||
### Linux systemd 服务
|
||||
|
||||
仓库提供 [`deploy/systemd/jiaowu.service`](deploy/systemd/jiaowu.service),适用于
|
||||
使用 systemd 的 Linux 发行版。示例假定自包含发布包位于 `/opt/jiaowu`,服务使用
|
||||
无登录权限的 `jiaowu` 账号。程序会自动读取 `/opt/jiaowu/.env`,因此服务单元没有再
|
||||
配置 `EnvironmentFile=`。
|
||||
|
||||
以 Debian/Ubuntu 为例,先创建账号并设置文件权限:
|
||||
|
||||
```bash
|
||||
sudo useradd --system \
|
||||
--home-dir /opt/jiaowu \
|
||||
--shell /usr/sbin/nologin \
|
||||
jiaowu
|
||||
|
||||
sudo chown -R root:jiaowu /opt/jiaowu
|
||||
sudo chmod 0750 /opt/jiaowu
|
||||
sudo chmod 0750 /opt/jiaowu/Jiaowu.Api
|
||||
sudo chmod 0640 /opt/jiaowu/.env
|
||||
```
|
||||
|
||||
如果账号已存在,`useradd` 会报错,可以跳过该命令。RHEL 系发行版的 `nologin` 通常
|
||||
位于 `/sbin/nologin`,请按服务器实际路径调整。如果连接串使用私有 CA,还要确保
|
||||
`jiaowu` 组对 `SslCa` 指向的证书文件具有读取权限。首次启动前,先停止旧实例,并以
|
||||
服务账号执行迁移;仅专用空演示库需要执行第二条灌数命令:
|
||||
|
||||
```bash
|
||||
sudo -u jiaowu /opt/jiaowu/Jiaowu.Api --migrate-only
|
||||
|
||||
sudo -u jiaowu /opt/jiaowu/Jiaowu.Api \
|
||||
--seed-demo-data \
|
||||
--confirm-production-demo-data
|
||||
```
|
||||
|
||||
演示数据成功后,从 `/opt/jiaowu/.env` 删除临时的 `SeedAdmin__*` 配置。随后安装并
|
||||
验证服务单元:
|
||||
|
||||
```bash
|
||||
sudo install \
|
||||
--owner=root \
|
||||
--group=root \
|
||||
--mode=0644 \
|
||||
deploy/systemd/jiaowu.service \
|
||||
/etc/systemd/system/jiaowu.service
|
||||
|
||||
sudo systemd-analyze verify /etc/systemd/system/jiaowu.service
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl enable --now jiaowu.service
|
||||
```
|
||||
|
||||
查看状态、实时日志和数据库就绪探针:
|
||||
|
||||
```bash
|
||||
sudo systemctl status jiaowu.service --no-pager
|
||||
sudo journalctl --unit=jiaowu.service --follow
|
||||
curl --fail http://127.0.0.1:8080/health/ready
|
||||
```
|
||||
|
||||
更新程序时应先 `sudo systemctl stop jiaowu.service`,替换发布文件并执行
|
||||
`--migrate-only`,确认迁移成功后再运行 `sudo systemctl start jiaowu.service`。
|
||||
服务以失败重启策略运行,但不会在正常退出或管理员主动停止后自行拉起。
|
||||
|
||||
数据库应明确使用 `utf8mb4`;MySQL 8.4 的默认排序规则为
|
||||
`utf8mb4_0900_ai_ci`。新建数据库时可执行:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user