一、起因:
昨天无意间在uniapp插件市场刷到一个前后端开源的热更新项目,想着自己也部署到服务器上,以后再开发项目管理起来也方便 于是今天一早我就起来把代码从GitHub上拷下来,准备研究研究,具体过程就不细讲了,反正就是我本地运行没问题之后,打算部署到服务器上,于是噩梦就来了……
二、问题逐渐出现:
起初我是打算通过docker部署(项目里也给了docker的镜像),但是后来运行上去发现docker里面访问不到mysql(这里也不知道是访问不到还是说我服务器的mysql版本不对),反正就是docker这条路不好弄,主要是我看不到一些详细的日志,docker这块一直没咋用。 于是我打算把这个Nest的项目放到我服务器上直接运行查看问题……
三、开始搞事:
打包——上传——解包——npm init——npm run serve,一套操作下来,发现报错提示我Glibc版本不对,需要2.25,我寻思这好办啊,缺啥就装啥呗。然后去网上搜Glibc如何升级。这时候重点来了!!,兄弟们一定要记得,备份备份备份!!!!,尤其是这种系统底层的东西,一定要了解好并且做好充分的备份再去弄!!!!
四、噩梦来辣:
当然我是不可能备份的,所以结果也很明显,当我刚更新完gcc,突然发现控制台什么指令都不好使了,然后刷新了一下宝塔,发现SSH直接连不上了。其实这回还不算太慌,我以为是网络问题,于是去网上查SSH主动拒绝连接是怎么回事。 可等我查着查着,突然意识到这是我瞎搞导致的,这时候就有点慌了,于是我索性放弃找解决办法了,毕竟咱只是一个还没毕业的小前端,Linux也就只是会查查百度,然后我就直接去腾讯云提交工单了。 等腾讯云那边技术处理了一会,给我回了个电话,告诉我可能得重装系统,这就意味着我可能要丢失我服务器上的所有资料,给我吓得不行(等下再说我服务器上都有啥),于是我小心的询问技术小哥,还有其他解决方法吗?小哥说要不拷贝一份库文件到我的服务器上试试,如果行就行,不行就只能重装了………………
五、有惊无险:
经过半小时的焦急等待,我实在忍不了了,直接上了宝塔查看,突然发现里面东西竟然都好了,SSH也能连上了,于是和技术确认之后终于是把问题成功解决。感谢技术小哥!感谢腾讯云技术支持!
六、复盘总结:
首先肯定是记得多打快照了,其次是这件事也让我突然意识到,我的服务器也会有突然离开的一天,所以还是要找一个好的存储媒介,于是也有了我今天的文章。
七、服务器上有什么?
倒是没有什么特别珍贵的东西,但是里面有我留下来的大量时间。
- 搭一个内网穿透frp加上nginx配的泛域名,以后每次用的时候只要在本机写好相应配置就可以直接外网访问了
- 做了一个通用的接口域名,就是通过nginx反向代理,把本机上跑着的服务端都通过
https://api.xxx.com/A/
和https://api.xxx.com/B/
这种形式区分出不同的项目,因为我经常写一些小脚本,每个都弄个二级域名太麻烦,也不好看。 - 做了一个通用的页面访问域名,也是用nginx做反向代理,这次是通过
https://A.static.xxx.com/
和https://B.static.xxx.com/
用来区分服务器上不同文件夹下的路径,这个只需要在一个static文件夹下创建新的文件夹,就可以通过https://文件夹名.static.xxx.com/
访问到该文件夹下的资源。我经常需要写一些小项目用来简单测试,每次还要去开域名太麻烦。 - 自己搭了一个本地的git平台,接单项目方便管理(主要是怕自己电脑哪天突然坏了)
- 等等……
这些东西如果说再让我写一遍的话,我估计会疯掉,所以才有了今天的文章,今天先试试水,以后我会陆续把我服务器上研究的一些好玩的发在这里,一是怕以后再出现这种问题,我也能及时恢复;二是也把自己的一些想法和大家分享一下,估计会有更多有趣的项目。
我是小恐龙Will、欢迎大家关注!