跳至主要內容
hero image

Cactus's Blog

cactus-vue-pro
单体-基于 Java 的一流的快速开发平台
cactus-cloud
微服务-基于 Java 的一流的快速开发平台
api-gateway-all
API 网关项目
db-router-spring-boot-starter
自研的分库分表组件
cactus-clottery
微信小程序和pc抽奖项目
Github+Cloudflare搭建图床

一、前言

提示

这篇教程介绍了如何结合 GitHub 私有仓库与 Cloudflare 反向代理加速,构建一个稳定、免费且具隐私保护的图床。
首先,利用 GitHub 的免费存储空间存储图片,再通过 Cloudflare 提供的 CDN 服务加速图片加载,确保图床访问速度和稳定性。
教程中还介绍了如何使用 PicGo 工具将图片上传至 GitHub 仓库,并隐藏仓库路径,增强安全性。这个方法适用于个人、博客和小型网站,不仅能实现快速加载,还能保证数据的隐私和安全。


Cactus li原创2024年11月8日...大约 4 分钟图床图床
加速访问vercel项目

1. 部署项目到 Vercel

  • 进入 Vercel 官网 vercel.com,并登录你的账户。
  • 点击右上角的 New Project,然后上传到 GitHub 的项目。
  • 点击 Deploy,Vercel 会自动为你配置项目并完成部署。

稍等几分钟后,会看到博客已经被部署到了一个 Vercel 提供的默认域名下(通常是 coustom-project.vercel.app)。


Cactus li原创2024年11月8日...大约 4 分钟vercelvercel
分布式压测和项目调优

本章介绍如何使用Docker 容器来搭建压力测试监控平台。

1. 分布式压测

在使用 JMeter 进行大并发压力测试时,单台机器往往受限于内存、CPU 和网络 I/O,导致服务器压力未达到预期,但压测机的压力已经过大并发生崩溃。

为了解决这一问题,JMeter 提供了分布式压测功能,从而显著提升其负载能力。

单机网络带宽有限,高延时场景下,单机可模拟最大线程数有限。

下图是分布式压测架构:

分布式压测图.drawio
分布式压测图.drawio

Cactus li2024年12月26日...大约 3 分钟项目性能优化项目性能优化
Linux目录介绍

1. Linux中常用目录介绍

目录路径 说明 默认文件示例/内容
/bin 存放必需的二进制文件(命令) lscpmvcat等基本命令
/etc 存放系统配置文件 passwd(用户信息),fstab(文件系统配置)
/home 存放用户的主目录 /home/user(用户目录)
/usr 存放用户级应用程序和数据 /usr/bin(用户命令),/usr/lib(共享库文件)
/lib 存放共享库文件 libc.so(C库),libm.so(数学库)
/dev 存放设备文件 nullsda(硬盘设备),tty(终端设备)
/var 存放可变数据(如日志、缓存等) /var/log(日志文件),/var/spool(打印队列)
/tmp 存放临时文件 tmpfile(临时文件),通常在系统重启时清空
/sbin 存放系统管理用的二进制文件(管理员使用) fsck(文件系统检查),reboot(重启命令)
/root 超级用户(root)主目录 /root/.bashrc(root用户bash配置文件)
/boot 存放启动相关文件 vmlinuz(内核文件),grub(启动引导程序)
/proc 提供系统和进程信息的虚拟文件系统 /proc/cpuinfo(CPU信息),/proc/meminfo(内存信息)
/media 存放可移动媒体的挂载点 /media/usb(U盘挂载点)
/mnt 用于挂载临时设备 /mnt/usb(临时挂载点)
/opt 存放附加的应用程序及软件包 /opt/google/chrome(Google Chrome)
/sys 提供系统硬件和内核信息的虚拟文件系统 /sys/class/net(网络设备),/sys/block(块设备)
/srv 存放由系统提供服务所需的数据 /srv/www(Web服务的数据)
/run 存放系统运行时数据 run/utmp(登录信息),run/lock(锁文件)
/usr/bin 存放用户可用命令 gcc(C编译器),python(Python解释器)
/usr/local 存放本地安装的程序及文件 /usr/local/bin(本地命令),/usr/local/lib(本地库)
/var/log 存放系统日志文件 syslog(系统日志),auth.log(认证日志)
/var/spool 存放待处理的任务文件(如邮件、打印队列) /var/spool/mail(邮件队列),/var/spool/cups(打印队列)
/var/tmp 存放临时文件,重启时不会清空 tmpfile(临时文件)
/etc/apt 存放APT软件包管理器的配置文件 /etc/apt/sources.list(APT软件源配置文件)
/etc/network 存放网络相关的配置文件 /etc/network/interfaces(网络接口配置)
/etc/systemd 存放Systemd服务管理配置 /etc/systemd/system(服务单元配置)
/dev/sda 存放设备文件(硬盘等) /dev/sda(第一个SATA硬盘),/dev/sdb(第二个SATA硬盘)

Cactus li2024年12月3日...大约 2 分钟LinuxLinux
搭建压测监控平台

本章介绍如何使用Docker 容器来搭建压力测试监控平台。

1. 安装容器及服务

1.1 安装Docker容器

利用脚本进行安装

curl -sSL https://get.docker.com/ | sh
sudo chmod 777 /var/run/docker.sock

Cactus li2024年11月26日...大约 12 分钟项目性能优化项目性能优化
Jmeter的安装使用

1. Jmeter 安装

安装可分为本地安装或者是服务器安装,一般正规的时使用方法是本地安装后在写测试计划和脚本看效果。脚本写完后,将jmx脚本放到服务器来执行压测。

1.1 本地安装和服务器安装

本地安装所需环境

环境:JDK 1.8+

官网:https://jmeter.apache.org/download_jmeter.cgi


Cactus li2024年11月20日...大约 15 分钟项目性能优化项目性能优化
项目性能优化前置知识

1. 性能优化问题分析

1.1 什么时候进行项目的性能优化?

性能优化通常是在系统出现性能瓶颈或潜在的性能问题时进行的。以下是一些常见的情境:

  • 系统响应慢或延迟增加:如果系统的响应时间逐渐变长,或者用户体验明显下降,通常意味着需要优化性能。例如,页面加载时间过长、数据库查询响应时间变慢、API 请求超时等。
  • 资源消耗过大:如果应用或系统消耗了过多的计算资源(CPU、内存、硬盘IO、网络带宽等),尤其是在高并发或大数据处理场景下,可能会影响到系统的稳定性和扩展性,需要进行优化。
  • **高并发或高负载场景:**如果你的应用预计会有高并发请求或处理大量的数据流,或者在流量激增时系统无法承受高负载,就需要提前进行性能优化,保证系统在高负载下的稳定性和响应能力。
  • 系统瓶颈:系统的某一部分(例如,数据库、缓存、磁盘IO等)出现瓶颈,限制了整体性能。如果出现了某些资源的过度使用或“单点瓶颈”,那么优化该部分会显著提高整体性能。
  • 开发过程中发现性能问题:在开发过程中,定期进行性能测试,及时发现潜在的性能问题,如内存泄漏、CPU过高等,及时优化,避免问题积累影响最终产品。

Cactus li2024年11月20日...大约 7 分钟项目性能优化项目性能优化
升级openssh9.8p1

一、问题简介

8.5p1 和 9.7p1 之间的openssh版本漏洞可能会导致linux系统以root身份进行RCE,所以需安装最新版本

二、解决方案

将当前openssh版本升级到最新的版本即openssh-9.8p1版本,OpenSSL大版本升级且OpenSSH有新稳定版本,建议升级OpenSSL同时也升级OpenSSH


Cactus li2024年11月8日...大约 3 分钟opensshopenssh
Linux登录失败处理策略

一、密码设置

1. 基本密码修改

$ passwd [用户名]  # 不带用户名则修改当前用户密码

Cactus li2024年10月25日...大约 3 分钟Linuxpam_tally2
Docker快速构建fastdfs镜像

1. 安装fastdfs所需文件

文件名 文件说明 本次安装版本
libfastcommon 从 FastDFS 和 FastDHT 中提取出来的公共 C 函数库 V1.0.75
libserverframe 从 FastDFS 中提取的网络服务框架库 V1.2.5
fastdfs FastDFS 源码,包含 tracker 和 storage 服务 V6.12.2
fastdfs-nginx-module FastDFS 与 Nginx 关联模块,实现访问和下载文件 V1.24
nginx 使文件能够通过http访问 1.22.0

Cactus li2024年10月25日...大约 8 分钟Dockerfastdfs