搭建一个chatgpt私有化

avatar 2023年9月5日18:21:25 评论 442 次浏览

如果想有一个自己私有化的chatgpt,就需要一台国外的服务器,并且注册成功openai,openai上篇文章已经告诉了注册方法,国外的服务可以自己购买,购买成功之后可以安装一个docker,这里使用了开源的https://github.com/wolf27w/ChatGPT-Next-Web,因为我只需要私有化就可以了,所以需要在这个chatgpt前加一个反向代理,先在我的服务器上创建一个服务。

docker run -d -p 3000:3000 -e OPENAI_API_KEY=sk-jHjBStOM98eUq0nqOjT3BlbkFJvPeWfNoVZS2WV8fPqoNV -e CODE=wulaoer yidadaa/chatgpt-next-web

因为国外下载不了这个镜像就需要现在本地下载,进行导出,放到服务器上在导入即可。

docker save 0fdf2b4c26d3 > web.tar
docker load < web.tar

这样chatgpt已经部署好了,上面的key是在openai中创建的,

创建的key粘贴到上面的OPENAI_API_KEY=后面创建容器即可,这个时候你就可以使用ip:3000的端口访问

这里正常会有一个登录的提示的,因为我已经登录过了,所以就没有提示了,至此,chatgpt搭建好了,后面就是私有化,我们需要做一个反省代理,我们在本地安装一个nginx,通过nginx反向代理。

server {
    listen       80;
    listen  [::]:80;
    server_name  chatgpt.wulaoer.org;

    #access_log  /var/log/nginx/host.access.log  main;

    location / {
           proxy_pass http://0.0.0.0:3000/;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_set_header Host $http_host;
           proxy_set_header X-NginX-Proxy true;
           proxy_redirect off;
           proxy_read_timeout 300s; #注意因网络问题这个时间一定调大一点
           fastcgi_read_timeout 120s;
           client_body_timeout 60s;
           send_timeout 60s;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

然后重启nginx,给nginx配置一个域名就可以了

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: