前言
我是一个对于代码编程基本上可以说是0基础的小白,没有项目经验,也没师父,也没老师,学过一点点的python代码,能看懂一部分的内容,知道去哪修改,基本上和啥也不懂的差不多,后端更是没学过,centos会一丢丢命令大概就到vim创建文件,cd进各文件目录的情况,使用ai的能力以后居然能将我本地的程序上云,基于云服务器的算力,并通过公网地址去访问,这对我来说是一个不可思议的经历,做一次简单的记录!
简单最终效果说明
最开始我是在本地跑了一个aippt的应用,大概功能呢就是通过api接口调用本地的ollama大模型或者一些ai智能体平台上的大模型能力与服务,去简单的列出来整体的一个ppt的框架,然后填入ppt内,生成一个简单的ppt,我这里使用的是煎蛋智能体平台+阿里云的宝塔服务器,交互页面如下

左侧进行ai对话进行构思框架,右侧这边的内容是可以进行修改,其中的网页链接是煎蛋智能体平台的能力,能返回图片链接,链接对应的是知识库内文档的图片,点击下一步能选择对应的ppt风格,然后下载生成的ppt
生成的ppt效果如下

这些生成的数据可以从煎蛋的历史数据里面查看


为啥要上云
这一套我原先在本地是跑通了,但是我想将这个应用给到其他的人去使用的时候我就需要单独的一个个去给他们部署。
这样的方式对我来说有点过于麻烦了,所以我就想,我能不能将我的这套东西上服务器,下发一个公网地址给我的几个朋友那里去装个b,而不是拷贝一个代码包到兄弟电脑上,哼哧哼哧下node.js,然后在他那处理依赖,处理各种可能的问题,我觉得这太low了。
于是我就开始和kimi小助手进行了愉快的聊天!

先是询问kimi,我这套思路的实现路径,可不可行!
好,kimi给了我实现的方式,要先有服务器,然后去进行应用迁移部署,最后网络配置访问!思路明确,技术可行,跟着做呗!
服务器选择
因为我属于个人爱好,刚好阿里云可以试用,我就注册开通了一个免费的为期一个月的试用服务器------宝塔的服务器(kimi推荐有图形化界面操作简单,适合我这种新手上手使用),下图为我的选择。

开通后你就会有下图这样一个轻量化的服务器了

然后进入应用详情里面去进入到宝塔页面,第一次进入会需要保持你的登录账号和用户密码

点击下图的位置即可进入宝塔页面

如下图所示你就进来了,第一次登录会有一个输入用户和密码的操作

到这我们的就有了一个为期30天的小服务器啦
应用迁移
在服务器开设好以后就可以开始第二步应用的迁移
首先将本地的应用打包,上传到文件里面

然后将压缩包右键解压

解压完成即可,然后进行应用的部署,配置应用的启动文件和启动路径等
点击网站,选择对应的网页选项,我的这个是nodejs的所以我选择node项目,不懂就问一下ai,ai会告诉你答案

然后添加对应的文件路径和你的端口号和node版本(在这里,ai推荐我使用PM2去创建,但是我使用pm2他提示我的nodejs未安装pm2组件,但是我安装的时候是看到有安装了的,不管了,后面使用默认项目跑起来的)
插一嘴,第一次进来应该会让你安装node一个nodejs管理组件进行使用,安装好再安装你应用对应的版本即可
网络配置访问
当你所有都配置部署好以后,就开始配置网络访问了!
点击设置

看一下项目日志服务是否启动了(域名和外网映射也在这配置,我只需要通过公网地址访问,我这就不配置了)
点击安全,配置系统防火墙,设置进出站的端口规则,不然无法访问!
我这边这个程序需要开设3000端口我就增加一个3000端口即可!

我这个是试用版,所以单纯宝塔这边打开没用,需要再到阿里云去配置防火墙协议,也是要开设3000端口
如果买了服务器的话应该是配置安全组,但是我只是试用,跑通技术可行性!进入防火墙模板

开放你对应的端口并进行应用,我前面一直绕在kimi告诉我的安全组里面卡了很久没找到,后面发现直接过来配置这个防火墙模板即可试用了
由此我就可以通过我服务器的公网地址+端口号访问我的服务了!
注意事项
本地代码可能会和服务端的不一样,可能需要ai帮你修改一下,我的代码就有一定的问题,之前监听的都是蹦迪的local 3000端口,后面找ai帮我看了里面的server.js文件修改了代码就行了,多点耐心,多问问ai多调试,总能走通的
修改 server.js(关键!)
当前代码:app.listen(port, () => {...})
问题 :默认只监听 localhost,外部无法访问
修改为:
app.listen(port, '0.0.0.0', () => {
console.log(`=============================================`);
console.log(`SADA AI PPT 极速流式版已启动`);
console.log(`访问地址: http://0.0.0.0:${port}`);
console.log(`公网访问: http://139.196.168.178:${port}`);
console.log(`=============================================`);
});