从零开始搭建一个AI聊天网站(一)—— 服务器部署
从零开始搭建一个AI聊天网站(一)—— 服务器部署
John Doe此处默认你已经掌握了服务器相关知识。(主要因为我学的不精,让我讲我讲不来,有误人子弟之嫌,哈哈)
假设我们现在拿到的是一个全新的服务器。上面什么都没有。
安装Docker
此部分表述较为官方。
1. 更新系统
首先,打开终端并更新你的包列表:
1 | sudo apt update |
2. 安装依赖包
安装一些必要的依赖包,以便让 apt 可以使用 HTTPS:
1 | sudo apt install apt-transport-https ca-certificates curl software-properties-common |
3. 添加 Docker 的官方 GPG 密钥
运行以下命令以添加 Docker 的官方 GPG 密钥:
1 | curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - |
4. 添加 Docker 仓库
接下来,添加 Docker 的稳定版仓库:
1 | sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" |
5. 更新包列表
再次更新包列表,以便包含 Docker 仓库的内容:
1 | sudo apt update |
6. 安装 Docker
现在可以安装 Docker 了:
1 | sudo apt install docker-ce |
7. 启动 Docker 并设置为开机自启
安装完成后,启动 Docker 服务并设置为开机自启:
1 | sudo systemctl start docker |
8. 验证 Docker 是否安装成功
运行以下命令来检查 Docker 是否正确安装:
1 | sudo docker --version |
你应该会看到 Docker 的版本信息。
9. 运行 Docker 命令(可选)
如果你希望在不使用 sudo 的情况下运行 Docker 命令,可以将你的用户添加到 docker 组:
1 | sudo usermod -aG docker $USER |
添加后,注销并重新登录,或者运行以下命令使更改生效:
1 | newgrp docker |
安装 Nginx
1、 拉取 Nginx 镜像
打开终端并运行以下命令来拉取 Nginx 的官方镜像:
1 | docker pull nginx |
2. 运行 Nginx 容器
使用以下命令启动 Nginx 容器:
1 | docker run --name my-nginx -p 80:80 -d nginx |
--name my-nginx:为容器指定一个名称。-p 80:80:将主机的 80 端口映射到容器的 80 端口。-d:在后台运行容器。
3. 验证 Nginx 是否运行
在浏览器中访问 http://localhost,如果一切正常,你应该能看到 Nginx 的欢迎页面。
4. 停止和删除容器
如果你想停止并删除 Nginx 容器,可以运行以下命令:
1 | docker stop my-nginx |
5. 自定义 Nginx 配置(可选)
如果你需要自定义 Nginx 的配置,可以创建一个本地配置文件,然后在运行容器时挂载它。例如:
- 创建一个 Nginx 配置文件
nginx.conf。 - 使用以下命令运行容器并挂载配置文件:
1 | docker run --name my-nginx -p 80:80 -v /path/to/nginx.conf:/etc/nginx/nginx.conf:ro -d nginx |
将 /path/to/nginx.conf 替换为你本地配置文件的路径。
如果出现网络问题,请更换镜像源。
部署uni-api和NeatChat
因为服务器就是一台电脑,因此安装uni-api和NeatChat的步骤同前面几篇一样,不再赘述。当这两个项目都成功启动之后,你应该能在浏览器地址栏通过以下地址访问:
NeatChat
1 | http://your-vps-ip:3000 |
uni-api
1 | http://your-vps-ip:8001 |
your-vps-ip 指的是你的服务器ip地址
同时还要注意,NeatChat的启动命令中,Base_url 应该填入你的uni-api地址,key为你自己写的key。
!!注意,你还需要在你服务器的安全组中添加这两个端口!!
到这里已经可以实现让你的朋友访问了。当然,还可以更进一步,要不然跟别人吹牛的时候,你告诉人家,这是我的网站,别人一看你的地址,大眼瞪小眼,这个我认识的网站地址不一样,那不就嗅大了?哈哈,开玩笑
安装证书
1 | https://help.aliyun.com/zh/ssl-certificate/getting-started/get-started-with-free-certificates |
在阿里云申请一个证书,教程贴下面了,大家可以看娇嗔一步步去申请。除了阿里云,还有ZerofSSL这个免费证书申请网站,都是3个月不过两家的证书格式不太一样,这些需要读者自己去研究。
在阿里云申请证书后,差不多10分钟就颁发了。之后我们会得到一个存放颁发给某一域名的证书的压缩包。里面分别存放了2个格式的文件,pem格式和key格式。
解压后上传到服务器的某一位置,自己能找到就行。
然后在服务器上打开nginx配置文件,一般为在 ~/etc/nginx/nginx.conf
将以下内容复制进去:
1 | user www-data; |
这里主要改3个地方
ssl_certificate 后面紧跟你的.pem文件地址
ssl_certificate_key 后面紧跟你的.key 文件地址
server_name 后面紧跟你申请证书时填的域名
其他就不必改了。然后重启nginx
1 | sudo systemctl restart nginx |
最后,你还不能访问你的网站。听大佬讲,80,443这俩端口,根据阿里云方面的规定,必须进行ICP备案才能正常访问。
因此最后一步是需要你自己去合规合法地进行ICP备案。
当然你也可以不监听443、80端口,监听其他端口,比如33333,这样你就可以通过 https://your-domain:33333访问你的应用啦(虽然怪怪的)
Tip小技巧
NeatChat不支持多端记录共享,因此如果你在某设备上的记录较为重要,要在其他端查看,可以将对话记录导出,再在另一端导入即可。方法比较繁琐,也有更简单的方法,这就需要小伙伴们去探索啦。
零基础部署一个项目的系列至此结束(码字真累啊~),有很多地方可能考虑的不周到,欢迎在文章下方留言指正!


