首页IT科技宝塔面板安装websocket(docker部署chat-web,实现自己的ChatGPT)

宝塔面板安装websocket(docker部署chat-web,实现自己的ChatGPT)

时间2025-08-04 17:58:45分类IT科技浏览6413
导读:本篇文章的前提是请确认已获得openai 的API-KEYS,即以sk-开头的keys;是否在服务器上安装了docker以及docker-compose...

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

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

一                 、(方式一)docker部署chat-web                         ,实现自己的ChatGPT

1                        、创建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 -d

3             、登录chatgpt_web页面

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

http://服务器ip:3002

 4                         、其他问题解决

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

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

#重启docker systemctl restart docker #docker 启动服务 docker start 容器id #查看容器ID docker ps -a

5            、配置反向代理 --可以不配置

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 ChatGPT

1                         、docker 拉取镜像

docker pull tuchuanhuhuhu/chuanhuchatgpt:latest

2                、启动镜像

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:7860

4                         、配置反向代理

注意配置反向代理不是必须的            。如果需要使用域名                 ,则需要配置 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; }

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
数字图像处理技巧课程包括哪些内容?(数字图像处理-图像基础-复习总结) 谷歌外贸seo(揭秘谷歌SEO外链平台的魔力:让你的网站飞起来)