浅谈人工智能之阿里云搭建coze平台
一、部署环境准备
阿里云服务器配置要求
○ 规格:最低2核CPU + 4GB内存(推荐4核8GB保障流畅运行),作者原先想要利旧,使用了2核2GB的服务器,但是跑不起来,后来自己环境使用了2核8GB。
○ 系统:CentOS 7.9(预装Docker环境)
○ 网络:开放端口80(Web访问)和443(HTTPS),安全组需允许公网入站流量,coze使用的端口为8888,所以需要加上8888端口,后面具体会介绍。
二、Coze部署流程
- 安装git
阿里云的服务器没有提供git预安装,所以要先安装一个git,命令如下
yum install git
- 获取部署资源
下载Coze官方文件:
git clone https://github.com/coze-dev/coze-studio.git
- 复制配置文件
cd workspace/coze-studio/docker/
cp .env.example .env
- 启动coze镜像
执行如下命令
docker compose --profile '*' up -d
````=
第一次启动的时候,我们碰到了如下问题
```bash
✔ Network coze-studio_coze-network Created
✔ Container coze-nsqlookupd Healthy
✔ Container coze-mysql Healthy
✔ Container coze-etcd Healthy
✔ Container coze-minio Healthy
✔ Container coze-redis Healthy
✘ Container coze-elasticsearch Error
✔ Container coze-milvus Healthy
✔ Container coze-nsqadmin Started
✔ Container coze-nsqd Started
✔ Container coze-server Created
✔ Container coze-web Created
dependency failed to start: container coze-elasticsearch is unhealthy
然后查阅就了资源发现elasticsearch目录下的setup_es.sh的编码格式是在windows下的,需要修改下编码格式适配Linux,因此我们下载dos2unix,命令如下:
yum install dos2unix
# 进入如下目录
cd workspace/coze-studio/docker/volumes/elasticsearch
# 然后执行如下命令
dos2unix setup_es.sh
# 再次运行如下命令
docker compose --profile '*' up -d
可以看到服务已经全部起来了
可以使用docker ps可以看到所以服务都已经启动
6. 外网访问
但是目前启动起来的服务是无法通过外网访问的,主要原因是8888/tcp, 127.0.0.1:8888->80/tcp,只有环回口才能访问,即127.0.0.1,所以我们需要修改部分配置文件让外网可以访问,我的设置都是使用root管理员账号进行
第一步:停止容器与服务
docker stop coze-web # 停止容器
systemctl stop docker # 停止Docker服务
第二步:进入容器配置文件
定位容器配置目录
cd /var/lib/docker/containers
找到对应容器的目录(根据容器ID查找):
docker inspect coze-web | grep Id # 获取容器ID
cd /var/lib/docker/containers/<容器ID>
第三步:修改容器配置文件
修改hostconfig.json文件:
查找 PortBindings 字段,将 “HostIp”: “127.0.0.1” 改为 “HostIp”: “” 或 “HostIp”: “0.0.0.0”(示例):
"PortBindings": {
"80/tcp": [{ "HostIp": "0.0.0.0", "HostPort": "8888" }]
}
修改config.v2.json文件
在 ExposedPorts 和 Ports 字段中,确认端口映射为,找到对应字段直接改
"ExposedPorts": {"80/tcp": {}},
"Ports": {"80/tcp": [{"HostIp": "0.0.0.0", "HostPort": "8888"}]}
第四步:重启docker验证
systemctl start docker # 重启服务
docker start coze-web # 启动容器
docker port coze-web # 检查端口映射是否为0.0.0.0:8888
第五步:案例的网络安全组中增加8888端口
添加入方向规则
配置好以后我们可以在其他电脑上进行访问