hexo 用 GitHub Actions 自动部署
背景旧的 hexo 部署方案是 2022 年那套:本地 git push → 服务器 git webhook 触发脚本 → 服务器上 docker run hexo 镜像跑 hexo g → 静态文件塞进 nginx 容器。
2GB 内存的阿里云小破服务器,hexo g 一直 OOM。swap 加了、--memory=500m/--memory=1g 都试过,要么 kill 要么慢得离谱。9 个月前最后一次成功部署,之后就再没更新过。
思路跑不动就别跑。把 hexo g 拆出去。
GitHub Actions runner 7GB 内存免费用,跑 hexo g 轻轻松松
服务器只负责把 public/ 接到 nginx 上,不再跑构建
架构:
12345678910111213141516本地 git push → GitHub Actions(ubuntu-latest) ├─ setup node 21.7.3 + cache npm ├─ npm install(npmmirror 源) ├─ hexo g 生成 public/ ├─ ...
ElasticSearch设置用户名密码访问
ElasticSearch 7.3.1 设置用户名密码访问的步骤。
1. 开启 x-pack 验证修改 config 目录下面的 elasticsearch.yml 文件,添加如下内容,并重启:
123xpack.security.enabled: truexpack.license.self_generated.type: basicxpack.security.transport.ssl.enabled: true
2. 设置用户名和密码执行以下命令,为 4 个用户分别设置密码:elastic, kibana, logstash_system, beats_system
1bin/elasticsearch-setup-passwords interactive
需要为每个用户输入密码(至少6位)。
3. 修改密码123curl -H "Content-Type:application/json" \ -XPOST -u elastic 'http://127.0.0.1:9200/_xpack/security/user/elastic/_ ...
Filebeat常见配置参数解释
Filebeat 配置参数详细说明,涵盖 input、prospector、output 各配置段。
1. input 配置段(prospector)1234567891011filebeat.prospectors: - input_type: log # log: 从日志文件读取每一行; stdin: 从标准输入读取 paths: - /var/log/*.log # 日志文件路径列表,可用通配符,不递归 encoding: plain # 编码,默认 plain include_lines: ['^ERR', '^WARN'] # 匹配行,输出匹配行;与多行同时指定时优先过滤 exclude_lines: ['^DBG'] # 排除行 ignore_older: 5m # 排除更改时间超过定义的文件 document_type: log # 会被添加到 ES 存储的 type ...
Kettle(Pentaho)实现web方式远程执行job或transformation
Kettle 自带 Carte 功能可以开启 Web 服务器,实现通过浏览器远程触发 Job 或 Transformation 执行,省去登录服务器操作。
准备工作
安装 Java JDK 1.5 以上
下载 Kettle 并解压到指定目录
配置环境变量 PENTAHO_JAVA_HOME,指向 JDK 的 jre 目录
开启 Carte 服务器12cd kettle根目录carte.bat 127.0.0.1 8081
成功后在浏览器打开 http://127.0.0.1:8081,用账号密码登录。
账号密码在 pwd/8081.xml 文件中,默认用户名密码都是 cluster:
12345678<slaveserver> <name>slave1-8081</name> <hostname>localhost</hostname> <port>8081</port> <username>cluster</username> <password> ...
spring cloud微服务日志跟踪 sleuth logback elk整合
Spring Cloud 微服务日志跟踪,将服务之间的调用使用唯一标识串联起来,通过一个标识可以查看所有跨服务调用的串联日志。
Sleuth 原理在最初发起调用者的时候在请求头 head 中添加唯一标识,传递到直接调用的服务上,之后的服务做类似的操作。
依赖引入所有服务或 Spring Boot 项目都引入以下包:
123456789<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-sleuth</artifactId></dependency><dependency> <groupId>com.cwbase</groupId> <artifactId>logback-redis-appender</artifactId> <version>1.1.5</version> ...

