docs: add ops and merchandise status repair guides
This commit is contained in:
221
docs/ecs-ssh-restart-webman.md
Normal file
221
docs/ecs-ssh-restart-webman.md
Normal file
@@ -0,0 +1,221 @@
|
||||
# ECS 服务器 SSH 终端进入 Docker `integral-houtai` 重启 Webman
|
||||
|
||||
适用项目:池州雷蕾商贸 `czleilei240` 寄卖商城
|
||||
适用容器:`integral-houtai`
|
||||
适用域名:`https://leileiadmin.czchunfang.com`
|
||||
|
||||
## 先说结论
|
||||
|
||||
这套项目当前不是标准 ThinkPHP / `php think` 启动方式。
|
||||
|
||||
我已经核对过当前代码目录,实际应用文件只有:
|
||||
|
||||
```text
|
||||
integral-resell/houtai/webman.bin
|
||||
```
|
||||
|
||||
没有下面这些文件:
|
||||
|
||||
- `think`
|
||||
- `start.php`
|
||||
- `composer.json`
|
||||
|
||||
所以这套 `integral-houtai` 容器里,不能按 `php think` 命令去重启 Webman,正确方式是进入容器后执行:
|
||||
|
||||
```bash
|
||||
./webman.bin restart -d
|
||||
```
|
||||
|
||||
## 一、SSH 登录 ECS
|
||||
|
||||
在本地终端执行:
|
||||
|
||||
```bash
|
||||
ssh root@116.62.83.240
|
||||
```
|
||||
|
||||
如果 SSH 端口不是默认 `22`,则执行:
|
||||
|
||||
```bash
|
||||
ssh -p 22 root@116.62.83.240
|
||||
```
|
||||
|
||||
## 二、进入容器
|
||||
登录服务器后,直接执行:
|
||||
|
||||
```bash
|
||||
docker exec -it integral-houtai sh
|
||||
```
|
||||
|
||||
进入容器后,提示符会切换到容器内部环境。
|
||||
|
||||
|
||||
## 五、在容器内重启 Webman
|
||||
|
||||
进入容器后执行:
|
||||
|
||||
```bash
|
||||
./webman.bin restart -d
|
||||
```
|
||||
|
||||
如果你不确定当前目录,也可以写成:
|
||||
|
||||
```bash
|
||||
cd /app
|
||||
./webman.bin restart -d
|
||||
```
|
||||
|
||||
## 六、退出容器
|
||||
|
||||
执行:
|
||||
|
||||
```bash
|
||||
exit
|
||||
```
|
||||
|
||||
## 七、查看日志确认是否启动成功
|
||||
|
||||
回到服务器宿主机终端后执行:
|
||||
|
||||
```bash
|
||||
docker logs -f --tail 100 integral-houtai
|
||||
```
|
||||
|
||||
看到类似下面的字样,说明 Webman 已成功拉起:
|
||||
|
||||
```text
|
||||
Webman start success
|
||||
```
|
||||
|
||||
看完日志后按 `Ctrl + C` 退出。
|
||||
|
||||
## 八、验证接口是否恢复
|
||||
|
||||
可以在服务器上直接验证:
|
||||
|
||||
```bash
|
||||
curl -I http://127.0.0.1:18085
|
||||
```
|
||||
|
||||
或者验证线上域名:
|
||||
|
||||
```bash
|
||||
curl -I https://leileiadmin.czchunfang.com
|
||||
```
|
||||
|
||||
如果要验证业务接口:
|
||||
|
||||
```bash
|
||||
curl -s "https://leileiadmin.czchunfang.com/api/order/goods?page=1&limit=1"
|
||||
```
|
||||
|
||||
## 九、完整操作示例
|
||||
|
||||
如果只是日常手动进入容器重启,整套命令如下:
|
||||
|
||||
```bash
|
||||
ssh root@116.62.83.240
|
||||
docker exec -it integral-houtai sh
|
||||
pwd
|
||||
cd /app
|
||||
ls
|
||||
./webman.bin restart -d
|
||||
exit
|
||||
docker logs -f --tail 100 integral-houtai
|
||||
```
|
||||
|
||||
## 十、为什么不是 `php think`
|
||||
|
||||
因为当前这套项目不是通过 ThinkPHP 命令入口运行的。
|
||||
|
||||
我核对到的实际情况是:
|
||||
|
||||
- 容器挂载的应用目录是 `/app`
|
||||
- 对应宿主机目录是 `/www/wwwroot/leileiadmin.czchunfang.com`
|
||||
- 应用启动文件是 `webman.bin`
|
||||
- 当前项目目录里不存在 `think` / `start.php`
|
||||
|
||||
所以如果你进入容器后执行类似:
|
||||
|
||||
```bash
|
||||
php think
|
||||
php think start
|
||||
php think restart
|
||||
```
|
||||
|
||||
大概率会提示文件不存在或命令不可用。
|
||||
|
||||
## 十一、按实际操作整理的最短步骤
|
||||
|
||||
```bash
|
||||
ssh root@116.62.83.240
|
||||
docker exec -it integral-houtai sh
|
||||
cd /app
|
||||
./webman.bin restart -d
|
||||
exit
|
||||
docker logs -f --tail 100 integral-houtai
|
||||
```
|
||||
|
||||
## 十二、如果你一定要先验证容器里有没有 `think`
|
||||
|
||||
进入容器后可以手动检查:
|
||||
|
||||
```bash
|
||||
cd /app
|
||||
ls -la
|
||||
find /app -maxdepth 2 -name think -o -name start.php
|
||||
```
|
||||
|
||||
如果没有结果,就说明这套容器内确实不是 ThinkPHP 命令模式。
|
||||
|
||||
## 十三、进入 Redis 容器
|
||||
|
||||
Redis 容器名是:
|
||||
|
||||
```bash
|
||||
integral-redis
|
||||
```
|
||||
|
||||
进入容器执行:
|
||||
|
||||
```bash
|
||||
docker exec -it integral-redis sh
|
||||
```
|
||||
|
||||
如果想直接连 Redis,也可以不进容器,直接在宿主机执行:
|
||||
|
||||
```bash
|
||||
docker exec -it integral-redis redis-cli
|
||||
```
|
||||
|
||||
## 十四、清空 Redis 数据
|
||||
|
||||
进入 Redis 容器后,先连上 redis:
|
||||
|
||||
```bash
|
||||
redis-cli
|
||||
```
|
||||
|
||||
如果需要密码,执行:
|
||||
|
||||
```bash
|
||||
redis-cli -a '你的Redis密码'
|
||||
```
|
||||
|
||||
清空当前数据库:
|
||||
|
||||
```bash
|
||||
FLUSHDB
|
||||
```
|
||||
|
||||
清空所有数据库:
|
||||
|
||||
```bash
|
||||
FLUSHALL
|
||||
```
|
||||
|
||||
如果要一条命令直接清空当前库,也可以在宿主机执行:
|
||||
|
||||
```bash
|
||||
docker exec -it integral-redis redis-cli -a '你的Redis密码' FLUSHDB
|
||||
```
|
||||
Reference in New Issue
Block a user