位置: IT常识 - 正文

docker部署chat-web,实现自己的ChatGPT(Docker部署nginx)

编辑:rootadmin
docker部署chat-web,实现自己的ChatGPT

推荐整理分享docker部署chat-web,实现自己的ChatGPT(Docker部署nginx),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:Docker部署的项目文件在哪里,Docker部署k8s,Docker部署nginx,docker部署chat-next-web,Docker部署的项目文件在哪里,Docker部署的好处,Docker部署的项目文件在哪里,Docker部署宝塔面板,内容如对您有帮助,希望把文章链接给更多的朋友!

本篇文章的前提是请确认已获得openai 的API-KEYS,即以sk-开头的keys;是否在服务器上安装了docker以及docker-compose

docker以及docker-compose安装请参考我的博文:CENTOS8.0安装DOCKER&DOCKER-COMPOSE_wd520521的博客-CSDN博客

一、(方式一)docker部署chat-web,实现自己的ChatGPT1、创建docker-compose.yml文件

(1)在服务器上创建一个目录:chatgpt_web

mkdir chatgpt_web && cd chatgpt_web

(2)创建docker-compose.yml文件

vim docker-compose.yml

(3)以下内容填写到yml配置文件中并保存

version: '3'services: app: image: chenzhaoyu94/chatgpt-web:latest ports: - 3002:3002 environment: # api秘钥 OPENAI_API_KEY: sk-xxx(修改为自己申请的秘钥) # 超时,单位毫秒,可选 TIMEOUT_MS: 60000保存: 按下Esc,然后输入 :wq 回车

注意:大家在编写yml文件时。要把注释删掉,否则有可能会报错。

2、部署并启动运行docker-compose up -d3、登录chatgpt_web页面

运行成功后直接访问(需要开放3002端口)

http://服务器ip:3002

 4、其他问题解决

(1)如果遇到 fetch failed,可以点上面的圈刷新

docker部署chat-web,实现自己的ChatGPT(Docker部署nginx)

 如果刷新没有用的话,大家重启一下docker,然后重新启动服务

#重启dockersystemctl restart docker#docker 启动服务docker start 容器id#查看容器IDdocker ps -a5、配置反向代理 --可以不配置

nginx配置文件如下:

server{ listen 80;listen 443 ssl http2;listen [::]:443 ssl http2; listen [::]:80; server_name 你的域名; location / {proxy_pass http://127.0.0.1:3002/; # 注意端口号} ssl_certificate /www/m/fn.pem; ssl_certificate_key /www/m/py.pem; ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;}二、docker部署Chuanhu ChatGPT1、docker 拉取镜像docker pull tuchuanhuhuhu/chuanhuchatgpt:latest2、启动镜像docker run -d --name chatgpt \-e my_api_key="替换成API" \-e USERNAME="替换成用户名" \-e PASSWORD="替换成密码" \-v ~/chatGPThistory:/app/history \-p 7860:7860 \tuchuanhuhuhu/chuanhuchatgpt:latest

注意:(1)USERNAME 和 PASSWORD 两行可省略。若省略则不会启用认证。

(2)个人建议,省略掉USERNAME 和 PASSWORD 两行为好。

3、查看运行状态docker logs chatgpt

 这样就可以使用IP访问了,访问链接如下

http://IP:78604、配置反向代理

注意:配置反向代理不是必须的。如果需要使用域名,则需要配置 Nginx 反向代理。

nginx配置文件如下:

server{ listen 80;listen 443 ssl http2;listen [::]:443 ssl http2; listen [::]:80; server_name 你的域名; #location部分是统一的必须一致 location / {proxy_pass http://127.0.0.1:7860; # 注意端口号proxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Upgrade $http_upgrade;# Websocket配置proxy_set_header Connection $connection_upgrade;#Websocket配置proxy_max_temp_file_size 0;client_max_body_size 10m;client_body_buffer_size 128k;proxy_connect_timeout 90;proxy_send_timeout 90;proxy_read_timeout 90;proxy_buffer_size 4k;proxy_buffers 4 32k;proxy_busy_buffers_size 64k;proxy_temp_file_write_size 64k;} #SSL部分的配置,大家可以自行配置 ssl_certificate /www/m/fn.pem; ssl_certificate_key /www/m/py.pem; ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;}server{ listen 80; server_name 你的域名; #rewrite ^(.*)$ https://$host$1 permanent; #return 301 https://$server_name$request_uri; location / {proxy_pass http://127.0.0.1:7860; # 注意端口号proxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header Upgrade $http_upgrade;# Websocket配置proxy_set_header Connection $connection_upgrade;#Websocket配置proxy_max_temp_file_size 0;client_max_body_size 10m;client_body_buffer_size 128k;proxy_connect_timeout 90;proxy_send_timeout 90;proxy_read_timeout 90;proxy_buffer_size 4k;proxy_buffers 4 32k;proxy_busy_buffers_size 64k;proxy_temp_file_write_size 64k;}}server{listen 443 ssl;listen [::]:443 ssl;server_name 你的域名; ssl_certificate /www/m/fn.pem; ssl_certificate_key /www/m/py.pem; ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置 ssl_prefer_server_ciphers on;if ($scheme = http) { return 301 https://$server_name$request_uri; }location / { proxy_pass http://127.0.0.1:7860; # 注意端口号proxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header Upgrade $http_upgrade;# Websocket配置proxy_set_header Connection $connection_upgrade;#Websocket配置proxy_max_temp_file_size 0;client_max_body_size 10m;client_body_buffer_size 128k;proxy_connect_timeout 90;proxy_send_timeout 90;proxy_read_timeout 90;proxy_buffer_size 4k;proxy_buffers 4 32k;proxy_busy_buffers_size 64k;proxy_temp_file_write_size 64k; }}

这样就配置好nginx了,大家就可以使用自己的域名访问了。

注意(1)目前配置认证后,Nginx 必须配置 SSL,否则会出现 Cookie 不匹配问题。

(2)配置好nginx后,启动nginx报错

nginx: [emerg] unknown "connection_upgrade" variable nginx: configuratio

解决方案:修改nginx.conf配置文件,向http部分添加如下配置: (这一步是为了配置websocket连接)

map $http_upgrade $connection_upgrade { default upgrade; '' close;}
本文链接地址:https://www.jiuchutong.com/zhishi/288868.html 转载请保留说明!

上一篇:CSDN独家原创|YOLOv5改进、YOLOv7改进、YOLOv8改进、YOLOX改进目录一览|YOLO改进模型全系列目录(芒果书系列) | 人工智能专家老师联袂推荐(csdn创作)

下一篇:Educoder/头歌JAVA——jQuery基础(头歌java入门运算符和表达式答案)

  • 如何做微信营销?(如何做微信营销赚钱)

    如何做微信营销?(如何做微信营销赚钱)

  • ip地址与网上的其他系统有冲突怎么办(ip地址与网络上的其他系统有冲突怎么解决)(ip地址和网址)

    ip地址与网上的其他系统有冲突怎么办(ip地址与网络上的其他系统有冲突怎么解决)(ip地址和网址)

  • 小米云相册怎么删除(小米云相册怎么删除图片而不删除本地)

    小米云相册怎么删除(小米云相册怎么删除图片而不删除本地)

  • 华为手机下载软件需要密码怎么取消(华为手机下载软件桌面不显示怎么办)

    华为手机下载软件需要密码怎么取消(华为手机下载软件桌面不显示怎么办)

  • 网易云音乐相册怎么删照片(网易云音乐相册在哪里打开)

    网易云音乐相册怎么删照片(网易云音乐相册在哪里打开)

  • 微信怎么查看黑名单好友(微信怎么查看黑名单删除的人)

    微信怎么查看黑名单好友(微信怎么查看黑名单删除的人)

  • 怎样扫出全家福(怎样扫出全家福照片)

    怎样扫出全家福(怎样扫出全家福照片)

  • 华为手机怎么把输入法改成繁体(华为手机怎么把照片传到电脑上)

    华为手机怎么把输入法改成繁体(华为手机怎么把照片传到电脑上)

  • 基站对人体有害还是有益(基站对人影响)

    基站对人体有害还是有益(基站对人影响)

  • 微信更改实名认证后果(微信更改实名认证后零钱还在吗)

    微信更改实名认证后果(微信更改实名认证后零钱还在吗)

  • 笔记本电脑钉钉直播没有麦克风怎么办(笔记本电脑钉钉直播没有声音怎么办)

    笔记本电脑钉钉直播没有麦克风怎么办(笔记本电脑钉钉直播没有声音怎么办)

  • 麒麟820等于骁龙多少(麒麟820等于骁龙多)

    麒麟820等于骁龙多少(麒麟820等于骁龙多)

  • 微信朋友圈怎么发gif(微信朋友圈怎么设置三天显示)

    微信朋友圈怎么发gif(微信朋友圈怎么设置三天显示)

  • 荣耀30pro+和荣耀30pro区别(荣耀30pro+和荣耀v30pro哪个好)

    荣耀30pro+和荣耀30pro区别(荣耀30pro+和荣耀v30pro哪个好)

  • 无线网可以看别人上网记录吗(无线网可以看别人手机吗)

    无线网可以看别人上网记录吗(无线网可以看别人手机吗)

  • 五类线最高网速(五类网线最高速度)

    五类线最高网速(五类网线最高速度)

  • 微信投诉警告教育是什么意思(微信投诉警告信息)

    微信投诉警告教育是什么意思(微信投诉警告信息)

  • 快手视频黑白怎么调过来彩色(快手视频黑白怎么调过来)

    快手视频黑白怎么调过来彩色(快手视频黑白怎么调过来)

  • 腾讯视频vip有什么用(腾讯视频VIP有什么好看的剧)

    腾讯视频vip有什么用(腾讯视频VIP有什么好看的剧)

  • 手机网页极速模式怎么设置(手机网页极速模拟器)

    手机网页极速模式怎么设置(手机网页极速模拟器)

  • 云闪付如何闪付付款(云闪付怎么闪付刷卡)

    云闪付如何闪付付款(云闪付怎么闪付刷卡)

  • 荣耀20i有没有返回键(荣耀20返回键怎么调出来)

    荣耀20i有没有返回键(荣耀20返回键怎么调出来)

  • 投影如何无线连接笔记本(投影如何无线连接)

    投影如何无线连接笔记本(投影如何无线连接)

  • 华为p30pro关机键在哪(华为p30pro关机键怎么是红色)

    华为p30pro关机键在哪(华为p30pro关机键怎么是红色)

  • 建筑业购买材料计入什么科目
  • 公司更换营业执照需要多久
  • 滞留票有什么影响
  • 房地产企业成本包括哪些
  • 印花税按合同的多少收
  • 现金流量补充表的编制
  • 小规模纳税人税额怎么做分录
  • 金蝶k3审核过账在哪里
  • 定额中税金包含什么
  • 金融负债
  • 股权转让需要缴纳企业所得税吗
  • 变更企业性质企业怎么办
  • 存出保证金的账务处理
  • 计提利息怎么做账
  • 弥补以前年度亏损税局会查吗
  • 土地租金一次付清的会计处理怎么做?
  • 非独立核算的分公司注销流程
  • 注销公司房产税从哪年从哪年开始交
  • 增值税发票开户行填简称是被允许的吗?
  • 个体户开票超了30万
  • 购买化妆品可以税前扣除吗
  • 土地出让金为何写有效期
  • 抵债资产处置的意义
  • 捐赠货品怎么做会计分录
  • 红字增值税专用发票信息表怎么填
  • 劳务费个人所得税税率
  • 代运营公司流程
  • 个税本期收入是应发还是实发
  • 没有对公账户怎么办
  • 什么是个别资本的概念
  • 外贸出口企业退税计算
  • 应付债券借贷
  • 资产收购的账务处理办法
  • 适用执行企业会计准则的一般企业
  • 上月的会计分录做错了
  • 编程 开发
  • 支付境外佣金税收政策
  • 业务招待费能计入成本吗
  • 一般户需要做账报税吗
  • 固定资产的原价包括增值税吗
  • 企业增值税申报流程
  • 土增税预征计征依据
  • 预收账款包括哪些内容具体明细
  • 收入少收钱账务处理
  • 织梦logo
  • 应该是下个月
  • 原材料结转成本有几种方法
  • 未出资到位的股权转让个人所得税
  • 费用报销单里的类别怎么填
  • 借款需要缴纳个人所得税吗
  • 个人名字的发票可以报销吗
  • android 矩阵运算
  • 关于固定资产的说法
  • 同控和非同控的企业合并的分录
  • 材料采购如何做好市场调研工作
  • 可供出售金融资产属于什么科目
  • 运费发票抵扣要求
  • 一般纳税人购进免税农产品如何抵扣进项税额
  • 合同里包括产品和服务吗
  • 中小型企业产品定位方案
  • 红字冲销有没有时间限制
  • mysql 索引 语句
  • mysql修改密码错误
  • windows桌面快捷方式怎么创建
  • macbookair如何隐藏文件
  • Win7系统怎么打开设置
  • 电脑没有网络连接怎么办
  • linux一共多少命令
  • 断开网络联结的手机
  • python中迭代器的作用
  • vue+axios登录
  • 使用Meteor配合Node.js编写实时聊天应用的范例
  • 比较两个字符串的值是否相等
  • js学习教程
  • js实现css样式
  • 国家税务局网上电子税务局官网重庆
  • 商业发票发票号怎么填写
  • ukey开票人是管理员改胃自己时只能开电子发票
  • 浙江国税电子税务局
  • 惠州市房产交易税费征收标准
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设