手把手教你部署全球资讯聚合系统,不仅可以看到国内外最新热点事件,还能实时掌握最新股票推荐、github开源项目等!
经常使用我的AI工具(https://ai.quanyouhulian.com/#/media/low-fans-hot-article)的兄弟们应该很早发现里面有个自媒体菜单,菜单里面包含了:低粉爆文、热门文章、公众号榜单、爆款标题等功能,但是少了个很重要的今日热点功能!
大家在自媒体写文章里遇到最难的问题便是查找题材了,随便选择的题材没多少人会去看,平台也不会给流量推送,所以,只有围绕热门题材去进行文章创作,才能得到平台的重点推送以及大家的关注!
在做这个功能前,博主也查阅了很多聚合实时热点的工具,像目前比较火的一款DailyHot(源码地址:https://github.com/imsyy/DailyHotApi),星标也还可以有3K
界面如下,基本把国内的主流媒体内容全部聚合进来了!
不过,它的缺点也很明显,只有国内资讯信息,而且里面很多信息都是雷同的,对于咱搞AI的朋友们来说,做信息频道那必须和国际接轨,所以这个也就被我PASS了。经过一番查找,还真让我找到了一款**开源且支持全球各个频道的聚合资讯热榜网站**,而且星标也有12.7K之高。
相较于传统的聚合网站,它不仅除了有国内外新闻实时,还支持像github、稀土掘金、雪球股票推荐等不同类型的排行榜。
先来看下它的强大之处(截图只展示了一小部分信息,具体详情可以查看:https://news.quanyouhulian.com/)
好了,接下来,我将详细讲解如何从0到1部署一套这样的实时资讯聚合资讯系统
1、下载newsnow源码
执行以下命令克隆源码
1 |
|
本地无法访问github的有两种方式,一种是修改本地Host配置,添加下中转ip映射,ip具体如何找可以参考我之前分享的方法
另外一种方法是使用加速器,比如:虾壳(https://xiake.pro/)把地址转一道
2、安装Node.js
因该工程使用的TypeScript编写的,需要使用npm(国内用户可以使用pnpm)安装相关的依赖包,如何安装nvm可以参考我之前的文章(https://mp.weixin.qq.com/s/cI0lT6KquN17Lb-OCn5tPQ),里面有详细介绍nvm安装多版本node的步骤,这里需要安装20或20以上的node版本,安装完成后,使用以下命令:node -v 查看,可以看到版本号即安装完成
3、安装包依赖
进到newsnow文件夹下,使用命令:**pnpm i **进行相关依赖安装,没有pnpm命令的可以到圈友互联AI(https://ai.quanyouhulian.com/#/chat/)去问AI如何安装该命令!
这里首次安装依赖时候我遇到了个问题,pinyin包安装不上去,可以使用以下命令先去单独安装这个特定的包
1 |
|
然后再重新执行下:pnpm i,可以看到所有包都成功安装了
4、本地启动开发环境
接下来,启用下开发环境:pnpm dev,可以看到项目已经成功启动了
本地浏览器也打开下,完美运行!
5、打包
接下来,就是进行项目打包了,使用命令:pnpm build,可以看到成功打出了dist文件夹,该文件夹下有两个文件夹,一个public(前端静态文件),一个server(使用node部署的后端文件)
6、推送dist文件夹内容到云服务器上
本地使用scp命令推送dist下全部文件及文件夹到:/usr/share/nginx/html/news/ 下,云服务器安装完nginx后,html的默认路径便是:/usr/share/nginx/html/
1 |
|
7、启动后端服务
SSH登录云服务器后,切换到server目录下
1 |
|
使用pm2启动后端server服务,没有安装pm2的去圈友互联AI(https://ai.quanyouhulian.com/#/chat/)问AI获取详细安装步骤
1 |
|
8、Nginx配置域名及代理
接下来就是配置域名了,这里域名使用你自己的地址,解析到对应的服务器。这里需要配置/api/指向到本地的3000端口,当前项目后端使用的是该接口,如果你改了端口就改成你对应的端口即可!
1 |
|
我这里SSL证书使用的是免费的,如何安装免费SSL证书可以参考我之前的文章:https://mp.weixin.qq.com/s/6z3mNBamE5T6-HOf3L2xcQ
9、部分无法抓取的网站改用代理地址
因为里面的Hacker news和Product Hunt国内网络无法直接访问到,所以这里需要做一层反向代理,在海外云服务器搭一层nginx作反向代理即可,这里云服务器可以使用极速云联:https://idc.jisuyl.cn/aff/OHAZKXBR,这里把nginx.conf配置如下反向代理配置
1 |
|
10、修改代码地址并重新打包发布
把hackernews.ts和producthunt.ts改成新地址
重新打包推到云服务器发布后,可以看到数据成功刷出来了,完美搞定!