租用海外服务器,自己部署ChatGPT-Next-Web,实现ChatGPT聊天自由,还可以分享给朋友用

前言

如果有好几个人需要使用ChatGPT,又没有魔法上网环境,最好就是自己搭建一个海外的服务器环境,然后很多人就可以同时直接用了。
大概是情况是要花80元租一个一年的海外服务器,花15元租一个一年的域名,然后openai 的apikey需要自己去搞定,本教程不包含这个内容。
最终界面这样的:
在这里插入图片描述

第一步:租用服务器

推荐使用RackNerd,便宜,且能更换公网IP,而且支持支付宝付款,短时间内不会跑路

**1CPU-1G RAM-17G SSD $10.98/年 (大约80元一年)— 用户不多,用这个就够了
https://my.racknerd.com/aff.php?aff=10901&a=add&pid=358

1CPU-1G RAM-25G SSD $12.98/年
https://my.racknerd.com/aff.php?aff=10901&a=add&pid=735

2CPU-2G RAM-45G SSD $21.98/年
https://my.racknerd.com/aff.php?aff=10901&a=add&pid=768

操作系统选择ubuntu 20.04 64bit
location选择美国地址
在这里插入图片描述
在这里插入图片描述
这里选择支付宝付款
在这里插入图片描述
后面还有一些账单信息随便填一下吧,用支付宝付款,就可以有服务器了

第二步:部署服务器

获取服务器用户名密码,公网ip
在这里插入图片描述

先选择服务器,激活服务器,显示Active表示正常
在这里插入图片描述
用MobaXterm客户端使用ssh登陆服务器,开始部署:

apt update
apt upgrade
apt-get install curl
curl -sL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
apt-get install nodejs -y
node -v
npm -v

sudo apt remove cmdtest
apt autoremove yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
apt-get update
apt-get install yarn

apt install git
git clone https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web.git
cd ChatGPT-Next-Web/
nano .env
写入,
OPENAI_API_KEY=sk-Bgh01HlGcqazkcwe39XWT3BlbkFxxxxxxxxxxxxxxx 
CODE=1234

注意: 这个OPENAI的aip key 必须是官方原版的key,不能是那种在别的地方购买的中转服务的key
如果自己买了中转地址和key,则需要写入
BASE_URL=https://api.xxx.fun  中转服务地址
OPENAI_API_KEY=ak-uKUm2OIm57cmullst5jjdvxATxxxxxxxxxxxx  中转服务地址对应的key
CODE=1234

yarn install
yarn build
yarn start

访问网址:
http://ip:3000
此时应该能打开网站了,用之前需要先点击一下登陆,输入上面配置的CODE密码:1234
在这里插入图片描述
执行 yarn start 的ssh界面关闭后,网站就不能访问了,需要改用pm2来启动
npm install pm2@latest -g
cd ChatGPT-Next-Web/
pm2 start “yarn start”

第三步:购买域名

https://www.godaddy.com/zh-sg
买个便宜的.fun域名,第一年十几块钱,后面就很贵了,到时候再换个域名
在这里插入图片描述
用支付宝支付一下

在这里插入图片描述

设置一下DNS
在这里插入图片描述
这里直接把ip替换为域名,我测试不能访问网站

第四步:安装配置nginx

apt-get install nginx
此时通过 http://域名 访问能看到nginx
在这里插入图片描述
配置nginx

nano /etc/nginx/sites-available/xxx.fun.conf
写入内容
server {
    listen 80;
    server_name xxx.fun; 这里填你的域名

    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}
sudo ln -s /etc/nginx/sites-available/xxx.fun.conf /etc/nginx/sites-enabled/
del /etc/nginx/sites-enabled/default  把nginx那个默认的配置文件的软连接删掉

此时访问你的域名http://xxx.fun就可以用了

第五步:安装SSL证书

使用http访问是很不安全的,需要搞一个免费的https证书

apt install snapd
apt-get remove certbot
snap install --classic certbot
ln -s /snap/bin/certbot /usr/bin/certbot
certbot --nginx  执行这一步,会要填些信息

在这里插入图片描述
现在就可以通过https://域名来访问了

最后

现在,把你的域名给你的朋友,并告诉他们CODE密码,就可以愉快地使用了
现在是相当于大家都在用同一个api key来使用chatgpt,产生的费用也是你一个人承担哈
如果有一天你的网站突然不能用了,需要在本地ping一下你服务器的ip,是不是ip被屏蔽了,这个时候,需要去更换一个ip,ip更换也是要钱的
参考资料:
来自chatgpt4.0的回答
https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web
https://flowus.cn/yifei/share/7c1ff13b-277d-40da-8c04-ebf770ea46ea#e2ca9bf5-7d59-4ee2-bf13-da0eb40593d3
https://askopenai.feishu.cn/docx/XtrdduHwXoSCGIxeFLlcEPsdn8b
https://flowus.cn/yifei/share/7c1ff13b-277d-40da-8c04-ebf770ea46ea

部署ssl证书:
https://certbot.eff.org/instructions?ws=nginx&os=ubuntufocal

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/400555.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

搜索专项---DFS之连通性模型

文章目录 迷宫红与黑 一、迷宫OJ链接 本题思路:DFS直接搜即可。 #include <iostream> #include <cstring> #include <algorithm>constexpr int N110;int n; char g[N][N]; bool st[N][N]; int x1, y1, x2, y2;int dx[4] {-1, 0, 1, 0}, dy[4] {0, 1, 0, …

多线程完成文件拷贝:2024/2/21

作业1&#xff1a;使用多线程完成两个文件的拷贝 要求&#xff1a;第一个线程拷贝前一半&#xff0c;第二个线程拷贝后一半&#xff0c;主线程回收两个线程的资源 代码&#xff1a; #include <myhead.h>//定义结构体 typedef struct Info {char *src;char *dest;int s…

springboot访问webapp下的jsp页面

一&#xff0c;项目结构。 这是我的项目结构&#xff0c;jsp页面放在WEB-INF下的page目录下面。 二&#xff0c;file--->Project Structure,确保这两个地方都是正确的&#xff0c;确保Source Roots下面有webapp这个目录&#xff08;正常来说&#xff0c;应该本来就有&#…

c语言经典测试题1

1.题1 int x5,y7; void swap() { int z; zx; xy; yz; } int main() { int x3,y8; swap(); printf("%d,%d\n"&#xff0c;x, y); return 0; } A: 5,7 B: 7,5 C: 3,8 D: 8,3 大家思考一下选哪一个呢&#xff1f; 我们来分析一下&#xff1a;上述代码中我们创建了4…

【JavaWeb】网上蛋糕商城-项目搭建

学习目标 了解网上蛋糕商城的项目需求 了解网上蛋糕商城的功能结构 熟悉E-R图和数据表的设计 熟悉项目环境的搭建 通过前面章节的学习&#xff0c;相信读者应该已经掌握了Web开发的基础知识&#xff0c;学习这些基础知识就是为开发Web网站奠定基础。如今&#xff0c;电子商…

golang JSON数据格式 XML数据格式 Gob(这玩意真的有人用吗?)

接着摸鱼&#xff0c;摸鱼一时爽&#xff0c;一直摸鱼一直爽&#xff0c;接着搞golang 不是所有的数据都可以编码为 JSON 类型&#xff0c;只有验证通过的数据结构才能被编码&#xff1a; JSON 对象只支持字符串类型的 key&#xff1b;要编码一个 Go map 类型&#xff0c;map 必…

stm32——hal库学习笔记(DAC)

这里写目录标题 一、DAC简介&#xff08;了解&#xff09;1.1&#xff0c;什么是DAC&#xff1f;1.2&#xff0c;DAC的特性参数1.3&#xff0c;STM32各系列DAC的主要特性 二、DAC工作原理&#xff08;掌握&#xff09;2.1&#xff0c;DAC框图简介&#xff08;F1&#xff09;2.2…

Hive JDBC

Hive远程模式搭建好之后&#xff0c;可以使用Beeline客户端或JDBC远程访问Hive了 启动HiveServer2服务 $ hive --service hiveserver2 & 新建Java Maven项目&#xff0c;在pom.xml中添加以下依赖 <dependencies><dependency><groupId>jdk.tools</g…

曝光一下不发年终奖的企业

原文连接&#xff1a; 曝光一下不发年终奖的企业 今日热帖&#xff0c;看到网上发布的一篇帖子&#xff1a;请曝光一下不发年终奖的企业&#xff01; 结果留言上百条&#xff0c;除了私企&#xff0c;还有很多国企&#xff0c;银行等。而且还有一些我们认为应该很赚钱的企业&a…

opencv图像放缩与插值-resize函数

在OpenCV中&#xff0c;resize函数用于对图像进行尺寸调整&#xff08;放大或缩小&#xff09;&#xff0c;这个过程中通常需要用到插值方法来计算新尺寸下图像像素的值。插值方法对于放缩的质量有着直接影响。 void resize(InputArray src, OutputArray dst, Size dsize, dou…

Linux 性能分析工具汇总

Linux 性能分析工具汇总 出于对Linux操作系统的兴趣&#xff0c;以及对底层知识的强烈欲望&#xff0c;因此整理了这篇文章。本文也可以作为检验基础知识的指标&#xff0c;另外文章涵盖了一个系统的方方面面。如果没有完善的计算机系统知识&#xff0c;网络知识和操作系统知识…

k-邻近算法(kNN)

目录 k-近邻算法概述 k-近邻算法的一般流程 kNN算法伪代码 k-近邻算法概述 优点&#xff1a;精度高、对异常值不敏感、无数据输入假定 缺点&#xff1a;计算复杂度高、空间复杂度高 适用数据范围&#xff1a;数值型和标称型 k-近邻算法的一般流程 &#xff08;1&#x…

2024年最新1000个Java毕业设计选题参考

文章目录 2024年最新Java毕业设计选题参考一、Java毕业设计选题参考二、javaweb毕业设计选题三、springboot/ssm毕业设计选题参考 源码获取&#xff1a; 博主介绍&#xff1a;✌全网粉丝7W,CSDN博客专家、Java大数据领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/In…

强化学习(SAC)

SAC—— soft actor-critic SAC算法是一种现代的深度强化学习算法&#xff0c;它结合了基于策略的和基于价值的方法。SAC的核心思想是最大化期望回报的同时保持策略的随机性&#xff0c;这有助于提高探索环境的效率&#xff0c;并且通常可以赵高更好的策略。 发展史&#xff…

C++从入门到精通 第十四章(STL容器)【上】

写在前面&#xff1a; 本系列专栏主要介绍C的相关知识&#xff0c;思路以下面的参考链接教程为主&#xff0c;大部分笔记也出自该教程&#xff0c;笔者的原创部分主要在示例代码的注释部分。除了参考下面的链接教程以外&#xff0c;笔者还参考了其它的一些C教材&#xff08;比…

接口自动化测试利器,使用Rest Assured进行REST API测试

我们在做接口测试时&#xff0c;一般在代码中会使用HttpClient&#xff0c;但是HttpClient相对来讲还是比较麻烦的&#xff0c;代码量也相对较多&#xff0c;对于新手而言上手会比较难一点&#xff0c;今天我们来看下另一个接口测试工具包REST Assured REST Assured是一个流行…

Qt 基础之进度条 - QProgressDialog和QProgressBar

Qt 基础之进度条 - QProgressDialog和QProgressBar 引言一、QProgressDialog例程1.1 效果展示1.2 源码 二、QProgressBar例程2.1 效果展示2.2 源码 三、QProgressBar进阶 引言 进度条的作用是用于显示任务或操作的进度&#xff0c;以便用户了解当前任务的完成情况。它可以提供…

如何删除PS最近使用项

ps删除最近文件列表 点击菜单栏中文件&#xff0d;>最近打开文件&#xff0d;>清除最近的文件列表

【python】windowslinux系统python的安装

一、python官网及下载路径 官网地址&#xff1a;Welcome to Python.org 下载路径&#xff1a;Download Python | Python.org ​​​​​​​ linux源码安装包下载&#xff1a; windows二进制安装包下载&#xff1a; 二、Linux如何安装python 2.1 单版本安装 以安装python…

Python实现线性逻辑回归和非线性逻辑回归

线性逻辑回归 # -*- coding: utf-8 -*- """ Created on 2024.2.20author: rubyw """import matplotlib.pyplot as plt import numpy as np from sklearn.metrics import classification_report from sklearn import preprocessing from sklearn…