「笔记」从校赛报不上名开始的服务器运维
写在前面
因为校队 OJ 引用的某个 cdn 加速的 css 挂掉了,马上就要校赛了妈的不修就报不上名了啊我草,于是尝试阅读祖传文档研究校队 OJ 服务器修 bug。
妈的文档里好多东西都过时了,OJ 的技术栈也太几把老了,经过几天的各种奋斗终于初步恢复了对 OJ 的维护能力。
然后对运维感兴趣了,于是开始瞎折腾。
这里记一些在大力运维和远程开发中遇到的,不会涉密的问题和 Solution,以及参考的学习资料。
VMWare ESXi
这什么玩意儿?
参考:
[问题记录] 因为未及时清理快照,导致储存爆掉了!
参考:
问题表现:
- 储存爆炸,整个物理磁盘上仅剩 7MB 的可用空间。
- 查看磁盘情况发现,虚拟机的快照链累计了 20 层,最后两层达到了 80GB+ 然后爆了。。。
原因:
-
创建快照后,原始磁盘文件(Base Disk)变为只读。此后虚拟机产生的所有新数据和修改,都会写入快照文件(又称增量磁盘,Delta Disk)中(-0000x.vmdk)。
-
快照文件构成了有层级关系的“快照链”,读取数据时,VMware 会从最底层(最新的快照)向上回溯,直到找到需要的块;修改数据时,则
acm_server.vmdk(原始基础)└── acm_server-0000xx.vmdk(记录了之后的改动)└── acm_server-0000xx+1.vmdk(记录了之后的之后的改动)
-
快照文件大小只增不减,删除文件也被视为一种写入操作,反而会使快照文件继续增大。
-
快照文件不是对原始文件的替换,而是额外的占用,最多膨胀到与原始磁盘同样大小。
解决方案:
- 首先含泪舍弃一些不太重要的文件,给储存腾出 20GB+ 的冗余空间用于合并快照。
- 操作:右键点击虚拟机 -> 快照 (Snapshots) -> 管理快照 (Manage Snapshots) -> 点击 “删除全部 (Delete All)”。
- 在 ESXi 中,“删除(Delete)” 快照其实就是 “合并(Merge)”,合并后,所有增量磁盘数据都写回到原始磁盘文件中。
建议:
- 快照在 VMware 中仅建议作为升级或变更前的临时备份(保留 24-72 小时);
- 严禁将其作为长期备份手段使用。
常用 linux 指令小总结
文件与目录信息
参考:
进程信息查看 and 性能监测
参考:
查看端口占用
参考:
权限管理
参考:
linux 软件包管理器大赏
参考:
小工具
oh-my-zsh 美化终端
参考:
增强 shell。
TLDR 太长不看
参考:
-TLDR 命令列神兵| Linux 入門必裝. TL;DR 的意思是:哩供蝦?講重點好嘛? _ by Luka Huang _ Starbugs Weekly 星巴哥技術專欄
简单总结各个指令的功能与各种参数的格式。
$ man 的省流版。
ssh 总结
参考:
ssh 文件传输软件 MobaXterm
参考:
vscode remote ssh 使用总结
参考:
[问题记录] 完蛋!我的操作系统被 vscode 抛弃了! - vscode 1.86+版本 reomote ssh 不兼容旧服务器问题
参考:
完蛋!CPU 1000000% 占用了! - vscode remote ssh 导致的 rg 进程高占用问题
参考:
静态网页资源更新时的浏览器缓存问题
参考:
CSUOJ 前端大量使用的组件库 Bootstrap
参考:
Bootstrap Table
参考:
Bootstrap-Switch
参考:
连接远程数据库
2025.4.24
玩 OSS。
尝试把服务端部署到阿里云的 ECS 上,实现预签名 URL 客户端直传 OSS,再把 URL 回调到服务端。
数据库:MySQL,IDE:DataGrip。
参考:
注意事项:
- 在云服务器安装 MySQL 环境;
- 在安全组开 MySQL 和 SSH 的端口;
- 连接方式选择 SSH 隧道并配置,然后常规配置中主机直接填
localhost(相当于先通过 SSH 隧道登录了远程服务器的用户之后,再在本地连接服务器)。
Linux 配置环境变量
参考:
SpringBoot 项目部署到阿里云服务器
主要参考:
- Spring Boot 项目使用 Maven 打包并带上依赖_springboot 打包包含依赖包-CSDN 博客
- 保姆级教程——将 springboot 项目部署到阿里云服务器(小白包会)_怎么把框架项目放到阿里云公网上-CSDN 博客
- SpringBoot 部署* 项目打包 & 手动部署到阿里云服务器上*实际工作中,都是手动打包上传到阿里云_-CSDN 博客
还可能需要的一些前置知识:
在 Ubuntu 下编写 C++
参考:
在 Unbuntu 下编写 Python
参考:
为了在 Linux 下造数据规避 CRLF 的问题,于是来研究 luogu 出品的数据生成器 crayon:https://github.com/luogu-dev/cyaron。
建议直接用 Anaconda 以及内置的运行时环境以避免很多麻烦。
docker
学习 docker
参考:
研究部署 CCPCOJ。
唉 docker 太伟大了。
查看使用 docker 部署的数据库里的信息
参考:
方法有两种:
- 直接在 docker 内开个 shell 进程看(参考 1),需要自己手写 SQL,不好。
- 好用常用:用数据库管理软件,根据 docker 的端口连进去。
免费快速配置 SSL 证书
参考:
RT,参考 certbot 的官方教程即可。
Nginx
参考:
换了路由器,需要重新配置什么?
参考:
重新配置了:
- 服务器上:
- 静态 LAN IP
- 防火墙
- 路由器上:
- LAN 设置
- DHCP 服务(保证服务器的静态 LAN IP 不会参与 DHCP)
- 相关设备的静态地址分配(静态 LAN IP)
- 虚拟服务器(设置了外网访问服务器上 Web 应用的入口)
写在最后的 Log
2025.4.24
-
感想:云服务器太好玩了。
2025.4.2:
-
感想:我踩的坑的前人们都踩过了。

浙公网安备 33010602011771号