VPS 安全设置

以前也写过一篇文章叫做购买 VPS 之后需要做的事情 其中也提到了一些安全设置来确保 VPS 的安全性,但是那篇文章更多的集中于设置和配置。那这篇文章就集中总结归纳一下需要特别注意的安全问题。 保持系统更新 经常检查系统更新,尤其是出现重大安全问题时一定更新到最新的系统,以 Debian/Ubuntu/LinuxMint 为例 apt-get update apt-get upgrade SSH 端口和登录 SSH 默认使用 22 端口,我们和 VPS 打交道用的最多的就是这一个端口,修改 /etc/ssh/sshd_config 中 Port Read more ...

2018-03-18 linux , vps , server , ssh , config , scan

使用Google出品的 cAdvisor 监控Docker容器

cAdvisor 可以对节点机器上的资源及容器进行实时监控和性能数据采集,包括CPU使用情况、内存使用情况、网络吞吐量及文件系统使用情况,cAdvisor集成在Kubelet中,当kubelet启动时会自动启动cAdvisor,即一个cAdvisor仅对一台Node机器进行监控。kubelet的启动参数 –cadvisor-port 可以定义cAdvisor对外提供服务的端口,默认为4194。 cAdvisor原生支持 Docker 容器,cAdvisor 容器是基于Google的 Imctfy 开发。cAdvisor 运行一个守护进程用来收集每一个 Read more ...

2018-03-18 docker , stat , monitor , google , open-source

Java 查漏补缺之 stream 中的 collect flatmap reduce 使用

之前一篇文章 介绍了 Java 8 中 stream 基本用法,这里主要说 collect,flatmap,map 这三个比较重要的方法使用。 基础数据结构 class Person { String name; int age; Person(String name, int age) { this.name = name; this.age = age; } @Override public String toString() { return name; } } collect 下面的例子覆盖了 collec Read more ...

2018-03-16 java , stream , java8 , collector

备份 Docker 镜像容器和数据以及无痛迁移

本意上想要了解一下 Docker 容器中 Volume 的备份,毕竟重要的数据都在 Volume 中。然后顺带看了一下 Docker 镜像,容器的备份,不过镜像和容器托管到 Docker Hub 上也算是备份了。 Volume 可以叫做 数据卷,可供一个或者多个容器使用: 数据卷 可以在容器之间共享和重用 对 数据卷 的修改会立马生效 对 数据卷 的更新,不会影响镜像 数据卷 默认会一直存在,即使容器被删除 镜像备份 这里说的备份指的是直接从本地备份镜像文件,可以使用 docker save 命令将镜像打包成 tar 文件,之后 Read more ...

2018-03-16 linux , docker , container , image , volume

树莓派中安装 Docker 及 docker compose

仅仅作为记录,为了不让树莓派吃灰。主要参考官网这篇文章。 Docker 的好用程度已经不比多说,经过这两年的发展已经非常成熟,还记得一年前买的书已经跟不上Docker的发展了,所以这里还是推荐 Docker 的官方文档,要比市面上存在所有书籍要详细。不过要是想要了解 Docker 的内部技术还是有不少好书可以参考。跑偏了,回到正题。 安装 Docker 官方已经支持 Raspbian Jessie,所以可以直接安装: curl -sSL https://get.docker.com | sh Docker client 只能被 root 或者 Read more ...


使用 pt-online-schema-change 工具不锁表在线修改 MySQL 表结构

percona-toolkit 源自 Maatkit 和 Aspersa 工具,这两个工具是管理 MySQL 的最有名的工具,但 Maatkit 已经不维护了,全部归并到 percona-toolkit。Percona Toolkit 是一组高级的命令行工具,用来管理 MySQL 和系统任务,主要包括: 验证主节点和复制数据的一致性 有效的对记录行进行归档 找出重复的索引 总结 MySQL 服务器 从日志和 tcpdump 中分析查询 问题发生时收集重要的系统信息 在线修改表结构 这里主要介绍在线修改表结构功能。 在 Read more ...

2018-03-15 linux , mysql , table , ddl , sql

Java 查漏补缺之 stream

Java 8 中 stream 大大简化了 Collection 的操作,所以这篇文章就简单的了解下 stream 的基本用法,关于 collect,flatmap,map 等等更加高级的用法可能还需要另开一篇 总结。 Stream API 借助于同样新出现的 Lambda 表达式,极大的提高编程效率和程序可读性。同时它提供串行和并行两种模式进行汇聚操作,并发模式能够充分利用多核处理器的优势,使用 fork/join 并行方式来拆分任务和加速处理过程。 创建 stream 有很多种方法 通过集合的 stream() 方法或者 parallel Read more ...


VPS 云服务器能够做什么

很早以前买一台VPS主要的功能就是翻墙,然后常年也仅仅是跑一个 Shadowsocks,后来渐渐的发现其实有一台服务器即使只有单核1G,也能够用来做很多事情。以前我也看过一些文章讲述如何充分利用起VPS,但大部分除了说自建网站,挂机刷 YouTube 赚钱外也都没有什么实质性的内容。而自从开始接触Docker,我渐渐的发现了很多服务,因此我自己搜罗了一些。当然其实 GitHub 上有一个 Awesome Selfhosted 这里面列举了成百上千种可以自己托管部署的服务,几乎可以代替掉日常生活中用到的80%的服务,可以自建 nextcloud 代替 Dr Read more ...

2018-03-14 linux , vps , cloud , server , docker

docker volumes 中 -v 和 -mount 区别

Docker Volumes 机制通常用来给 Docker 容器保存持久化数据,使用 Volumes 有很多优势: 更容易备份和迁移 使用 Docker CLI 命令或者 Docker API 来管理 可以在 Linux 和 Windows 上使用 可以更安全得在多个容器中共享 Volume drivers 允许容器将内容保存到远端,云服务提供商,或者加密volume内容,或者增加其他功能 新 Volume 的内容可以被容器预先填充, volume 会先将容器内容拷贝到容器外目录 Volumes 通常也优于容器的可写层,使 Read more ...


使用 Docker 安装 gogs

Gogs 是一个能够自建Git托管服务的开源项目,用 Go 语言实现。因为较之 GitLab 轻量化一些,所以受到一定欢迎。 使用 Docker 来搭建 Gogs 服务时,需要额外依赖 MySQL,网上一般的教程都是先启动一个 MySQL 容器,开放端口,然后在启动 Gogs 容器配置。其实可以使用 docker-compose 一次性启动好。 version: '3.3' services: gogsdb: image: mysql:5.7 container_name: gogsdb restart: always Read more ...

2018-03-12 docker , gogs , git , github

最近文章

  • AI 浏览器 Comet 初体验 前两天刚介绍完 Dia 浏览器,就听说了 Dia 浏览器的母公司 The Browser Company 被 Atlanssian 以 6.1 亿美元现金收购,而另外一边,Google 的反垄断案也告一段落,不需要拆分 Chrome 和 Android,这边,Perplexity 就推出了以 Perplexity AI 为核心的网页浏览器 Comet。
  • 我买了一条 Thunderbolt 数据线 这两天使用 macOS 的 Migration Assistant 迁移系统,按照应用中的提示,连接同一个 WiFi,或者使用 Peer-to-Peer 方式,但是在使用的过程中 macOS 提交使用 Thunderbolt Cable 连接两台 macOS 的 Type-C 可以将速度提升到 3000MB~4000MB/s 左右。
  • 清理 macOS 上的一些低频使用的应用 之前的几台 MacBook Pro 都是因为钱包有限,所以只购买了 512GB 的空间。虽然也是够用的,但是如果安装的应用比较多的情况下,就会发现存储总是告警的情况。所以想着安装了 CleanMyMac 应用之后,就打开了它的 Uninstaller 功能,然后把我之前所有安装的应用列表都列出来,清理一下其中不是非常高频使用但是却又能解决特定需求的应用。
  • JetBrain AI Agent Junie 使用体验 今天更新了一下 JetBrains IntelliJ IDEA 和 PyCharm,在更新日志中发现 JetBrains 新增了 Junie 代码助手的功能,就顺手安装了,虽然我一直在用 JetBrains AI Assistant,但 AI Assistant 更像是一个常驻 IDEA 侧边栏的代码问答,虽然可以辅助生成代码,但是更偏重代码的自动提示,回答用户的问题,对错误进行解释,以及相关的文档工作,更像是一个更偏向代码的 AI 聊天伴侣(Companion)。但是 Junie 则更像是一个全智能的 Coding Agent,适合用来处理更大规模的,支持多个步骤,可以独立完成编码任务的 AI Agent,功能上更偏向于 Claude Code,Gemini CLI 这样完全自助完成任务的智能体。
  • 突破 Claude Code 5小时限制:利用 GitHub Copilot 代理 Claude Code 请求 如果大家高频使用 Claude Code 进行代码对话和生成工作的话, 经常会遇到 5 小时的限制。 幸运的是,如果你已经订阅了 GitHub Copilot,现在有一个巧妙的解决方案:通过本地代理将 GitHub Copilot 的 Claude Sonnet 4 模型转换为 Anthropic API 格式,从而绕过 Claude Code 的使用限制,继续享受顶级的 AI 编程体验。

赞助