cloudflare ddns通过API更新动态IP域名解析
Cloudflare的DDNS功能使用,通过Linux定时任务配合shell脚本,完成动态IP的域名解析。适用于家庭网络公网IP不固定的情况。
创建一个API密钥登录Cloudflare之后 -> 点击页面右上角的个人中心 -> 进入My Profile -> 进入API token也可以直接访问链接:https://dash.cloudflare.com/profile/api-tokens
创建一个Token,选择模板Edit zone DNS
点击 提交确认之后,复制token并保存起来. (注意这个Token只会展示这一次,忘记了就只能重新创建一个Token)
编写脚本,验证流程123456789101112131415161718192021222324252627282930313233343536373839404142#!/bin/bash# Cloudflare API令牌API_TOKEN="填token"# Cloudflare Zone IDZONE_ID="填Zone ID"# DNS记录ID(需要 ...
新版FRP内网穿透搭建使用
新版的配置文件有比较大的改动,这里记录一下安装部署过程,官网文档在这里 https://gofrp.org/zh-cn/docs/setup下载安装地址 https://github.com/fatedier/frp/releases当前最新版0.60.0
服务端安装首先是服务端,需要在一台公网机器上部署。这里我们自己下载 选择自己机器对应平台的压缩包 我这里选https://github.com/fatedier/frp/releases/download/v0.60.0/frp_0.60.0_linux_amd64.tar.gz
12345678// 下载wget https://github.com/fatedier/frp/releases/download/v0.60.0/frp_0.60.0_linux_amd64.tar.gz// 解压tar zxvf frp_0.60.0_linux_amd64.tar.gz// 进入目录cd frp_0.60.0_linux_amd64// 设置可执行权限chmod +x frps
可以看到目录下有两对执行文件和配置文件, 分别对应 ...
Docker搭建gitlab-runner利用CICD部署Springboot微服务到K8s集群
在DevOps工作流中,CICD持续集成持续部署是重要的一环。GitLab CI/CD 是 GitLab 的一部分,因此不需要单独安装。如果你已经在使用 GitLab 进行代码管理,GitLab CI/CD 无缝集成,直接在同一个平台上管理代码、审查合并请求、自动化测试和部署。这种集成度简化了开发流程,使用起来非常方便。
前提条件:已经在使用Gitlab做代码管理、机器已安装Docker环境目标:Docker搭建gitlab-runner,用gitgitlab-ci.yml脚本、Maven打包Springboot微服务、上传到Docker镜像仓库、远程部署到K8s集群
docker安装gitlab-runner在Gitlab中Runner可以注册到 项目(Project)、群组(Group) 或 所有项目(All projects),这里注册到最大的,所有项目和组都可以用这个Runner
还需要查看当前在用的Gitlab的安装版本,选择一致的版本。避免gitlab-runner版本跨度过大导致出现问题。
1.先注册生成得到一个配置文件config.toml
12 ...
ngrok内网穿透注册使用无需实名
开箱即用的内网穿透的工具有很多很多,但是由于国内环境需要实名认证劝退了。发现dashboard.ngrok.com注册即用,带https。而且控制台体验特别好,简直是傻瓜式。引导做的太棒了!!!所以这里简单记录一下,因为控制台的交互设计已经非常完善了。
注册ngrok.com打开官网:https://dashboard.ngrok.com 用邮箱注册,然后邮件激活账号即可。
最新情况: HTTP隧道可以直接用,TCP隧道需要绑卡
123You must add a credit or debit card before you can use TCP endpoints on a free account. We require a valid card as a way to combat abuse and keep the internet a safe place. This card will NOT be charged. Add a card to your account here: https://dashboard.ngrok.com/settings#id-v ...
ubuntu设置grub密码实现加密开机启动
先看效果,在机器开机进入引导时会先进入一个用户名密码验证界面,通过之后才会进入启动流程。并且如果想操作引导其他项,也必须输入密码。类似于密钥启动验证的效果!
假设我们设置用户名为:dollcode 密码为:123456
步骤 1:生成加密密码
123sudo grub-mkpasswd-pbkdf2// 输入并二次确认密码后,会输出一个加密后的密码字符串,类似如下所示:PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.2932A1217B661566186EE6213A992F6296F947F44E2A52E01EC42B3C0DD079342363378E52A7C0307F78027595FDD9F72C4788E66B74F66D9B154957818CAE0D.FC379727A4D967F4F1C2A03B0284021E8F209253BA3380C6F9D04391C27FCB072DE367ADC64540B6EE809E261DF0EEB0EF0568CFA74FD383C77F2A05DD1EA5 ...
Docker自定义JDK17 JRE精简镜像
由于官方的openJDK17镜像近500MB,属于太大,不利于微服务镜像打包部署。所以自定义基于alpine 3.18 和 openjdk 17 制作JRE镜像,构建Springboot项目镜像(JRE是java运行环境,不包含开发工具所以小)。先看结论,一共测试了三种方式。
注意:只编译java SE平台的Jre环境在运行Springboot项目会有问题,精简过头也不行,少了依赖。!!!推荐用jre17all,这是完整的JRE环境包,测试是完全没问题的。
jre17se 只构建了javaSE平台模块包的JRE环境的镜像
jre17all 构建了所有包模块的JRE环境的镜像
jre17 直接用adoptium下载的JRE来创建的镜像
openjdk 官方的镜像
12345>docker imagesjre17se latest cd9e997465f6 7 seconds ago 81MBjre17all latest 8d7173e8cdd9 8 m ...
docker-compose一键部署yapi接口文档
yapi 已经很久没人更新和维护,但界面和功能还是挺不错的,支持从Swagger快速导入更新接口,适合团队接口文档管理和存档。官方并没有直接封装docker镜像,但是有一个二次开发的 YAPIPro镜像。https://hub.docker.com/r/yapipro/yapi 提供了部署文档,但是步骤有点多。于是动手自定义了docker-compose.yml实现快速部署。
前提准备机器已安装docker-compose
创建一个目录,接下来安装操作都在这个目录下操作。目录名称就叫 yapi 吧
12mkdir yapicd yapi
我们需要安装 yapi 和 mongodb 两个容器。并且需要提前创建mongodb的用户信息,并设置用户名和密码所以需要准备一个脚本文件 init-mongo.js
1234567db = db.getSiblingDB('yapi');db.createUser({ user: "yapiblog", pwd: "yapi666", roles: [{ role ...
DB-GPT本地部署体验讯飞星火大模型V3.5
首先我们从 DB-GPT官网,可以得到的https://docs.dbgpt.site/docs/latest/quickstartDB-GPT是一个开源的AI原生数据应用开发框架(AI Native Data App Development framework with AWEL(Agentic Workflow Expression Language) and Agents)。目的是构建大模型领域的基础设施,通过开发多模型管理(SMMF)、Text2SQL效果优化、RAG框架以及优化、Multi-Agents框架协作、AWEL(智能体工作流编排)等多种技术能力,让围绕数据库构建大模型应用更简单,更方便。数据3.0 时代,基于模型、数据库,企业/开发者可以用更少的代码搭建自己的专属应用
本次 我们通过代理模型方式,使用讯飞星火大模型3.5版本,来进行验证部署。
需要提前将Miniconda环境安装
环境配置首先根据官方文档说明,下载源码,并配置环境(python >= 3.10)
1234// 拉取源码git clone https://github.c ...
PostgreSQL UPSERT(insert on conflict do)和pgpass使用说明
PostgreSQL INSERT INTO ON CONFLICT语法。UPSERT(insert on conflict do) 记录存在就更新,不存在就更新。在某些业务场景中,需要把插入语句和更新组合到一起,一条SQL同时完成插入和更新逻辑。这个时候就需要用到 INSERT ON CONFLICT语法特性了。可以实现根据主键或者唯一约束,来插入或指定条件更新。
官方语法说明12345678910111213141516171819202122Command: INSERT Description: create new rows in a table Syntax: [ WITH [ RECURSIVE ] with_query [, ...] ] INSERT INTO table_name [ AS alias ] [ ( column_name [, ...] ) ] { DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) [, ...] | que ...
搭建PostgreSQL主从架构
PostgreSQL是一个功能非常强大的、源代码开放的客户/服务器关系型数据库管理系统(RDBMS),被业界誉为“先进的开源数据库”,支持NoSQL数据类型,主要面向企业复杂查询SQL的OLTP业务场景。并且提供PostGIS地理信息引擎,也是我本次使用它的原因。经常在网上看到“PostgreSQL —— 世界上最流行的数据库”这一次 从零开始 搭建PG主从架构,做读写分离。
1. 配置PostgreSQL下载源首先准备两台服务器,安装PostgreSQL主从。版本选择这块,选了中间版本13 (详细版本是:13.12)。各版本信息可以在官网查看:https://www.postgresql.org/docs/
12345// 首先下载PostgreSQL的RPM文件包wget --no-check-certificate https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm// 安装RPM包rpm -ivh pgdg-redha ...