Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

海外云服务器(基于阿里云)Linux和公网解决方案 #386

Closed
EricChLee opened this issue Apr 8, 2023 · 15 comments
Closed

海外云服务器(基于阿里云)Linux和公网解决方案 #386

EricChLee opened this issue Apr 8, 2023 · 15 comments
Labels
documentation Improvements or additions to documentation high value issue

Comments

@EricChLee
Copy link

不是专业玩家,大概根据文科大佬https://github.com/binary-husky/chatgpt_academic/issues/374的调整的。
采用的是阿里云美国服务器和Linux Ubuntu服务器系统搭建

  1. 海外阿里云可以通过学生验证获取一个轻量级(1核1G内存40G储存空间1M带宽)的云服务器,具体看这里https://www.alibabacloud.com/zh/developer/students (需要海外云,中国站不知道是否有海外服务器)
    image

  2. 申请需要审核,成功后会邮件通知,申请成功后配置服务器的过程参考这里: https://www.alibabacloud.com/help/doc-detail/163467.html 这里介绍的是基于ubuntu 22.0的版本,所以镜像选择的就是ubuntu。地址选择美国硅谷。

  3. 然后就是登录控制台
    image

  4. 然后就是进入服务器控制台,可能后续有些组件会提示你安装,安装就行。
    image

  5. 服务台里就这样子
    image
    6.点击远程连接,使用默认选项,立即登录。
    image
    这里可能会需要输入登录ubuntu的用户名和密码,用户名默认为root,密码在配置的时候有要求设置过,具体参考这里:https://www.alibabacloud.com/help/zh/elastic-compute-service/latest/quick-start-for-linux-instances
    登录后大概这样子
    image

  6. 安装chatgpt_academic,直接git安装
    git clone https://github.com/binary-husky/chatgpt_academic.git
    cd chatgpt_academic(记得cd到文件夹)

  7. 使用nano 命令进入config.py文件添加chatGPT API的key,具体看主页介绍https://github.com/binary-husky/chatgpt_academic
    nano config.py
    进入后添加API的key和修改访问端口(记住端口号,后面要添加到服务器设置中),然后按Ctrl+X,回车保存,这里按照项目推荐,最好直接保存为private_config.py。
    同样的方式使用nano命令进入main.py文件,修改文件权限,修改跟这里一样海外云服务器windows部署+公网访问解决方案 #374
    都把最后一行中demo.queue(concurrency_count=CONCURRENT_COUNT).launch(server_name="0.0.0.0", share=True, server_port=PORT, auth=AUTHENTICATION), share=True改为False,另外根据个人需求,也可以修改一下System prompt的内容,这个对应的就是main.py中的这里:
    image

  8. 完成后可以使用下面的命令打开对应的端口(把5000替换成你在config.py中设置的端口)
    sudo ufw allow 5000/tcp
    12.这时候需要回到第5步的服务器控制台这里,点击实例的名称(第5步图中被涂红的那一大块),进入实例详情
    image
    点击安全组,再点击配置规则
    image
    选择手动添加,端口写上你设置的端口
    image

  9. 下面就再次回到远程连接,进入系统,同样cd到chatgpt_academic文件夹内,使用nohup命令
    nohup python3 main.py
    就可以创建一个后台运行的访问系统,通过你的服务器的公网IP(第五步可以查询到)加上端口号就可以访问了
    示例:公网IP为14.253.15.24,设置端口为5631则直接再浏览器输入14.253.15.24:5631访问。

  10. 如何结束进程,需要结束进程的时候则使用命名ps aux | grep main.py搜索后台执行的PID,使用kill PIDnumber结束进程,调试阶段可以不用nohup python3 main.py命令,而直接使用python3 main.py这样子可以直接运行,使用Ctrl+C停止进程,这种情况下退出远程登录也会直接结束进程(时刻记得先cd到chatgpt_academic路径再运行)。

@ShayDuane
Copy link

直接docker不是更方便吗

@EricChLee
Copy link
Author

自学小白,对docker使用很不熟练,所以就没用docker,我也摸索一下,我看到你的里面有个ChatGPT-Next-Web,感觉很好的样子,我要如何搬到我的云上面呢?

@ShayDuane
Copy link

@EricChLee 那个项目是我fork的,不用服务器可以直接一键部署,也可以部署在服务器上,国内服务器的话准备好代理和key,最简单的部署还是docker ,Google一下docker 官网,按照文档安装就几行命令,然后项目里readme 往下拉有docker部署的方案,docker run的时候填上你的代理和key还有访问密码啥的,直接运行就行,最后打开浏览器ip 加端口就可以访问了

@EricChLee
Copy link
Author

@RuSignalFlag 多谢多谢,确实docker方便很多啊,已经部署了ChatGPT-Next-Web了。
image
可以直接设置密码也是比较方便和安全的。

@binary-husky binary-husky added documentation Improvements or additions to documentation high value issue labels Apr 10, 2023
@Marfars
Copy link

Marfars commented Apr 13, 2023

如果希望在服务器上使用docker部署的话,可以参考以下步骤(其中前几点和master上的前几点都是一样的):
1、在你的指定目录下执行

git clone https://github.com/binary-husky/chatgpt_academic.git

2、cd chatgpt_academic
3、将config.py的内容拷贝到config_private.py中(如果不需要设置自己的config,可忽略)

cp config.py config_private.py

4、根据master指引,修改自己的配置,分别是以下几项:

# Your Key是自己的api key,此处位于第二行
API_KEY = "Your Key"

# 由于我是国外的服务器,所以USE_PROXY设置的是false,即默认值未做修改
USER_PROXY = False

# 修改自己的暴露端口,我选的是443,此处位于37行
WEB_PROT = 443

5、可选,修改镜像源 国外服务器访问DockerFile里的阿里镜像可能会慢,所以我去掉了其对镜像源的指定,如果也需要取消,可参考以下步骤:首先确保自己位于chatgpt_academic目录下,执行命令vim Dockerfile,删除3~5行的内容,结果如下

FROM python:3.11
  
WORKDIR /gpt
COPY requirements.txt .
RUN pip3 install -r requirements.txt

COPY . .

CMD ["python3", "-u", "main.py"]

6、打包Docker镜像,和master教程一致,命令为:

docker build -t gpt-academic .

7、运行Docker镜像,使用以下命令:

# --name可选,是给容器起的名字,-d是为了让他后台运行,443:443是为了把端口暴露出去
# 请确保暴露的端口telnet的通,同时此端口没有其他服务运行
docker run -itd --name chat -p 443:443 gpt-academic

8、可选 如果要更新怎么办 比如说key要换,或者某个配置错了,可以修改文件之后,按照第六步打一个新包,然后执行以下三条命令:

# 暂停原容器,如果没有设置名字,那这里的chat就用gpt-academic
docker stop chat

# 删除原容器,如果没有设置名字,那这里的chat就用gpt-academic
docker rm chat

# 重新执行第七步的命令
docker run -itd --name chat -p 443:443 gpt-academic

@gysabc
Copy link

gysabc commented Apr 19, 2023

请问这个需要重新注册吗,我在注册的时候发现没有中国,只有中国香港啥的

@EricChLee
Copy link
Author

这个没注意到啊,是注册账号阶段吗?不记得了,要不发个截图看看。

@gysabc
Copy link

gysabc commented Apr 19, 2023

这个没注意到啊,是注册账号阶段吗?不记得了,要不发个截图看看。

1

2

3

4

如最后一张图所示,在选择国家的地方,没有中国大陆

@gysabc
Copy link

gysabc commented Apr 19, 2023

这个没注意到啊,是注册账号阶段吗?不记得了,要不发个截图看看。

但是我在阿里云中国站控制台厘米看到有海外服务器可以购买

@gysabc
Copy link

gysabc commented Apr 19, 2023

这个没注意到啊,是注册账号阶段吗?不记得了,要不发个截图看看。

但是我在阿里云中国站控制台厘米看到有海外服务器可以购买

但是中国站免费试用的服务器在国内。。。。

@EricChLee
Copy link
Author

这个没注意到啊,是注册账号阶段吗?不记得了,要不发个截图看看。

但是我在阿里云中国站控制台厘米看到有海外服务器可以购买

但是中国站免费试用的服务器在国内。。。。

原来如此,没注意到这个问题,那估计是,手机验证这步估计得要个国外号码吧

@EmanuellaS826
Copy link

这个没注意到啊,是注册账号阶段吗?不记得了,要不发个截图看看。

但是我在阿里云中国站控制台厘米看到有海外服务器可以购买

但是中国站免费试用的服务器在国内。。。。

这个方案需要阿里云海外账户,直接注册海外阿里云需要地区选国外,且需要国外手机号接收验证码,然而SMS-Activate这样的平台上并没有针对阿里云海外注册开通的虚拟收码业务...

@yanlc-1
Copy link

yanlc-1 commented Apr 25, 2023

怎么绑定域名呢,有自己的域名,不想用ip+端口

@piwawa
Copy link

piwawa commented Jun 24, 2023

怎么绑定域名呢,有自己的域名,不想用ip+端口

同问,我想知道怎么通过nginx代理这个网站

@ghostning
Copy link

如果希望在服务器上使用docker部署的话,可以参考以下步骤(其中前几点和master上的前几点都是一样的): 1、在你的指定目录下执行

git clone https://github.com/binary-husky/chatgpt_academic.git

2、cd chatgpt_academic 3、将config.py的内容拷贝到config_private.py中(如果不需要设置自己的config,可忽略)

cp config.py config_private.py

4、根据master指引,修改自己的配置,分别是以下几项:

# Your Key是自己的api key,此处位于第二行
API_KEY = "Your Key"

# 由于我是国外的服务器,所以USE_PROXY设置的是false,即默认值未做修改
USER_PROXY = False

# 修改自己的暴露端口,我选的是443,此处位于37行
WEB_PROT = 443

5、可选,修改镜像源 国外服务器访问DockerFile里的阿里镜像可能会慢,所以我去掉了其对镜像源的指定,如果也需要取消,可参考以下步骤:首先确保自己位于chatgpt_academic目录下,执行命令vim Dockerfile,删除3~5行的内容,结果如下

FROM python:3.11
  
WORKDIR /gpt
COPY requirements.txt .
RUN pip3 install -r requirements.txt

COPY . .

CMD ["python3", "-u", "main.py"]

6、打包Docker镜像,和master教程一致,命令为:

docker build -t gpt-academic .

7、运行Docker镜像,使用以下命令:

# --name可选,是给容器起的名字,-d是为了让他后台运行,443:443是为了把端口暴露出去
# 请确保暴露的端口telnet的通,同时此端口没有其他服务运行
docker run -itd --name chat -p 443:443 gpt-academic

8、可选 如果要更新怎么办 比如说key要换,或者某个配置错了,可以修改文件之后,按照第六步打一个新包,然后执行以下三条命令:

# 暂停原容器,如果没有设置名字,那这里的chat就用gpt-academic
docker stop chat

# 删除原容器,如果没有设置名字,那这里的chat就用gpt-academic
docker rm chat

# 重新执行第七步的命令
docker run -itd --name chat -p 443:443 gpt-academic

大佬,想问一下 在打包镜像那一步,有两个文件始终下载不下来,通过vim也改过镜像了还是下载不下来

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation high value issue
Projects
None yet
Development

No branches or pull requests

9 participants