位置: 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入门运算符和表达式答案)

  • 没有购销合同可以开票吗
  • 计算本月应交所得税
  • 建筑业总产值含税吗百度百科
  • 小规模开票多少不用交税
  • 没有社保可以缴费吗
  • 2019印花税减免
  • 企业销售使用过的固定资产
  • 企业资产重组是不定期清查吗
  • 旅游费用可以报销吗
  • 转账支票需要哪些资料
  • 基本电费等于
  • 企业购买汽车时需要交哪些税?
  • 商会会费收入要交所得税吗
  • 红字发票通知单已经上传可以作废吗
  • 股东赠与计入资本公积,交税
  • 其他应付转到其他应收
  • 当月有进项税额转出怎么结转未交增值税
  • 修理厂年收入
  • 合伙企业是怎样分红的
  • 出售提完折旧的固定资产怎么记账
  • 红蘑菇是什么松树伞吗
  • php和aspnet哪个好
  • 工程收入和成本的区别
  • PHP:iterator_apply()的用法_spl函数
  • 房地产土地使用税征收标准
  • PHP:pg_last_error()的用法_PostgreSQL函数
  • 补缴增值税怎么做账
  • php零基础入门
  • 继承房产印花税是按交易分额交吗
  • FUXA个人学习总结(一)
  • 外资企业注册资本认缴制期限
  • django cookie
  • 考研408怎么样
  • vue3+antd
  • bert模型能做什么
  • ChatGPT频频发疯!马斯克警告:AI将毁灭人类
  • 经营租入固定资产账务处理
  • 金蝶k3现金流量表编制如何生成数据
  • 个人社保进费用,还要报个税么
  • mongodb使用场景总结
  • 未抵扣的进项发票,开出红字信息表,需要做进项税转出吗
  • 房地产开发企业成本核算方法
  • 房屋租赁发票品目填写规范
  • 营业外支出的计算公式
  • sql chr函数
  • 加强mysql安全
  • 交强险还要交车船税?
  • 实际成本法下采购材料的会计分录
  • 餐饮无票收入怎么做账
  • 去年的费用怎么做分录
  • 代扣税是啥
  • 接受慈善捐款结尾怎么写
  • mysql5.7压缩包
  • win10设置怎么开
  • 跨网段加入域配置
  • win7自带的多媒体播放程序是什么
  • XP从4月8日起将正式停止支持服务、升级到 Win 8.1图文教程
  • centos安装owncloud
  • 1sass.exe是什么程序
  • linux系统的安全机制有哪些
  • win8和win10双系统切换
  • 安装win7/Win10双系统,磁盘如何分区?
  • cocos2d安装
  • nodejs回调函数返回值如何传递给其它函数
  • 手游接入
  • pycharm远程调试代码
  • Node.js中的construct
  • 安卓显示时间代码
  • js获取父级元素
  • jquery二级导航栏
  • shell 算数计算
  • jQuery插件在使用前都需要引入jQuery的js文件
  • jquery校验
  • android中menu
  • 如何在电子税务局添加办税人员
  • 税务干部转正工作总结
  • 南昌 税务局
  • 居间服务费税收优惠政策
  • 税务局纳税服务工作总结
  • 国税总局编制这次怎么调整
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设