基于OpenAI的API搭建套壳Next Web


拥有域名和服务器前提下,利用OpenAI API部署套壳Next Web。


准备工作


1.拥有一台服务器,例如1.2.3.4,系统为CentOS 8 Stream x64。
2.拥有一个域名,例如a.com,需要配置DNS和TLS。

不清楚申请步骤的话,可以参考另一篇文章: Apache+Flask在云服务器搭建个人网站


一、配置环境


1.更新软件列表

sudo yum makecache
sudo yum update
sudo reboot

2.安装Docker并启动

# 彻底清除podman和buildah
sudo yum erase podman buildah

# 卸载旧版本
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

# 安装依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# 添加 Docker 官方存储库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 安装Docker CE
sudo yum install docker-ce docker-ce-cli containerd.io

# 启动Docker
sudo systemctl start docker

3.从Docker Hub拉取Next Web镜像并运行

docker pull yidadaa/chatgpt-next-web
docker run -d -p 127.0.0.1:3000:3000 -e OPENAI_API_KEY=key -e CODE=password yidadaa/chatgpt-next-web

其中OPENAI_API_KEY为OpenAI的API Key,CODE为访问密码。


二、配置Apache


1.配置防火墙规则

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload

2.安装apache

sudo yum install httpd

3.使用 Let’s Encrypt 获取 SSL 证书

  • 创建Apache配置文件用于验证域名
    sudo vim /etc/httpd/conf.d/next-web.conf
    
  • 填入以下内容
    <VirtualHost *:80>
        ServerName a.com
    </VirtualHost>
    
  • 启动httpd
    sudo systemctl start httpd
    
  • 获取证书
    sudo yum install epel-release mod_ssl certbot python3-certbot-apache
    sudo certbot --apache -d a.com -d www.a.com
    

4.配置Apache反向代理

  • 修改配置文件

    vim /etc/httpd/conf.d/next-web.conf
    
  • 修改为以下内容

    <VirtualHost *:80>
        ServerName a.com
        ServerAlias www.a.com
        Redirect permanent / https://a.com/
    </VirtualHost>
    
    <VirtualHost *:443>
        ServerName a.com
        ServerAlias www.a.com
    	
        SSLEngine on
        SSLProtocol all -SSLv2 -SSLv3
        SSLCertificateFile /etc/letsencrypt/live/a.com/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/a.com/privkey.pem
        Include /etc/letsencrypt/options-ssl-apache.conf
    
        ProxyPass / http://127.0.0.1:3000/ 
        ProxyPassReverse / http://127.0.0.1:3000/ 
        
        ErrorLog /var/log/httpd/ssl_reverse_proxy_error_log
        CustomLog /var/log/httpd/ssl_reverse_proxy_access_log combined
    </VirtualHost>
    
  • 重启httpd

    sudo systemctl restart httpd
    

三、访问Next Web


1.浏览器输入https://www.a.com或者https://a.com即可访问Next Web


2.输入Docker部署时设置的密码使用默认的API key,也可以在设置中添加新的API key来绕过访问密码。


3.功能正常使用



至此教程结束

有错误或者改进的地方请各位积极指出!

猜你喜欢

转载自blog.csdn.net/embracestar/article/details/133580538