222 lines
3.7 KiB
Markdown
222 lines
3.7 KiB
Markdown
# 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
|
||
```
|