HEXO部署-将懒发挥到极致
在写该文章时,博客部署的流程不断改变,所以,该文章的部署流程有点混乱。
现在我的博客部署流程是:在本地将Hexo项目源码git push到Gitee,Gitee自动git push到GitHub的仓库,GitHub Actions监测到仓库变化,自动构建Hexo(hexo clean && hexo g),同时,将/public文件夹下的文件同步到我的服务器,更新博客文章。
前言
我博客原本是部署在GitHub Pages上的,由于8月份由于Leancloud不支持评论数据在国内访问了,刚好618买了个服务器一直在吃灰,趁着国庆有时间就折腾一下,把博客迁移到服务器上吧,顺便把评论也搞一下。
2022-10-20追更:
前面已经将本地的/public/部署到服务器了,但是总感觉不够好,不能实时备份我的文件,万一哪天电脑崩了(暑假我的硬盘就突然崩了 🥚 )。并且每次都要在自己电脑hexo g && hexo g && hexo d,还是不方便,都有服务器了,为什么还要在自己电脑编译,直接丢在服务器编 ...
【Docker系列】-部署ChatGPT
前言
由于专业相关,我几乎每天都会用到ChatGPT,有时候需要在手机使用ChatGPT,代理也不是时时刻刻都稳定,想了一下,不如自己部署一个ChatGPT,用API 调用就行,偶尔用一下,对于OpenAI的限额,应该是完全够用的。
部署ChatGPT会存在一个问题,你的服务器能不能访问到ChatGPT,如果是国内的服务器,你可能需要做一层代理才能访问到ChatGPT,并且,代理的IP一定要干净,尽量不要使用代理池,不然容易被封号。
如果你有国外的服务器,就不存在这个问题了,国外的服务器可以直接访问ChatGPT,直接部署调用API就可以了,下面我使用国外的服务器来进行部署演示。
莱卡云
官网:https://www.lcayun.com/
看到国内的一个厂商莱卡云,本着不是很贵,就入手试一下。打开官网,这界面看着还挺不错,有点像腾讯云的秒杀专场。
主要是国外的机器搭网站不需要备案,不需要备案,不需要备案,随便建站,这就很方便,国内建站不备案就给你停了,麻烦。而且国内的机器带宽一般比较小,但国外的机器带宽一般比较大。
我入手的是这个,美国CN2 GIA(弹性),2G2核10M,跑 ...
申请acme.sh免费SSL证书
介绍
HTTP(HyperText Transfer Protocol:超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议。 简单来说就是一种发布和接收 HTML 页面的方法,被用于在 Web 浏览器和网站服务器之间传递信息。HTTP是明文传输数据,数据都是未加密的安全性差。
HTTPS(Hypertext Transfer Protocol Secure:超文本传输安全协议)是一种透过计算机网络进行安全通信的传输协议。HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。
如今,互联网基本全都支持HTTPS,因为相比HTTP,HTTPS更加安全,可以防止第三方入侵我们的网站,我们有时候打开一些老一点的HTTP的站点,会自动跳转到别的奇奇怪怪的网站上去,由于HTTP网站安全性不够,如果被一些不法分子劫持,跳转到第三方网站,如果我们使用HTTPS,会放不法分子入侵难度加大,从而可以减少被入侵的机会,让我们网站更加安全。
acme.sh的出现,解决了我们小站的 ...
正则表达式
文章转载来源于菜鸟教程公众号
原文章链接:https://mp.weixin.qq.com/s/7bDukFKBv4M6j-j5V4MZ5g
相关链接:
教程地址:https://www.runoob.com/regexp/regexp-usage-summary.html
测验工具:https://www.runoob.com/try/try-regex.php
测试工具:https://c.runoob.com/front-end/854/
匹配基本字符
使用普通字符匹配:普通字符(如字母、数字、符号)在正则表达式中表示自身,例如匹配 “runoob”:/runoob/。
使用元字符 . 匹配任意字符:****. 表示匹配任意单个字符,例如匹配 “cat” 或 “bat”:/c.t/。
匹配字符集合
使用字符集合匹配:使用方括号 [] 表示字符集合,匹配集合中的任意字符,例如匹配 “cat”、“bat” 或 “hat”:/[cbh]at/**。
使用连字符 - 表示字符范围:在字符集合中使用连字符 - 表示匹配字符范围,例如匹配 “a” 到 “z” 的小写字母:/[ ...
网站备案+服务器迁移数据
前言
趁着618活动,入手了一台腾讯云3年的服务器,去年618在华为云购买的一年服务器到期了,考虑到网站的迁移和备案问题,这次就选择了3年的机器,省时省力。
我买的是3年轻量 2核 2G 4M 50GB 300GB流量,我需求不高,目前来说性能也够用,如果有需要更大的存储空间,可以考虑对象存储,腾讯云的对象存储也还可以,拿来当图床也是一个不错的选择。
真的强烈建议买3年的机器,非常划算了,不要浪费首单优惠啊,首单3年才396,现在腾讯云的服务器续费都非常贵,一年的续费就要507元了,买一年的话,虽然比较便宜,但我还是不推荐,如果你听我的买3年的机器,一年后你会来感谢我的。
如果你已经买过一次了,不是腾讯云首单用户了,腾讯云其实可以开启3个用户,这3个用户都可以享受首单优惠,你扫码登录腾讯云时,创建一个用户就好了,还是可以继续享受首单优惠。
如果你有需要,可以点我下面的邀请链接注册或者登录购买,这样我也能蹭点代金券(偷笑)
腾讯云618专场:https://curl.qcloud.com/4QKETzxt
续费一年507元,真tm贵
初始化服务器
本文主要是为了记录自己的迁移记 ...
【SpringBoot系列】04-NoSQL数据库
Redis
Redis介绍
一个开源(BSD许可)的、内存中的数据结构存储系统,可用作数据库、缓存和消息中间件,并提供多种语言的API,是一个高性能的key-value数据库。
与其他key-value缓存产品相比有以下三个特点:
支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用
不仅仅支持简单的key-value类型的数据,同时还提供list、set、zset、hash等数据结构的存储
支持数据的备份,即master-slave模式的数据备份
优点
存取速度快:Redis速度非常快,每秒可执行大约110000次的设值操作,或者执行81000次的读取操作
支持丰富的数据类型:Redis支持开发人员常用的大多数数据类型,例如列表、集合、排序集和散列等
操作具有原子性:所有Redis操作都是原子操作,这确保如果两个客户端并发访问,Redis服务器能接收更新后的值
提供多种功能:Redis提供了多种功能特性,可用作非关系型数据库、缓存中间件、消息中间件等
Redis安装与配置
1. 安装软件
安装Redis服务端,这里蓝奏云的版 ...
【SpringBoot系列】03-测试与数据库操作
配置属性与数据
获取配置文件属性
在前面我们有学习过,在配置文件添加属性,使用@ConfigurationProperties获取配置文件属性的值,并且通过实体类来封装这些数据,实体类需要有set方法来进行自动注入。
使用实体类封装配置属性
使用实体类来封装配置文件的属性需要以下三个步骤:
定义属性
创建实体类封装属性
在实体类绑定属性并生成get、set方法
定义实体类为Bean对象(这样实体类才可以被IOC容器管理注入信息)
定义属性
比如我们在配置文件添加如下几个属性:
123student: name: 小码同学 major: 计算机科学与技术
封装属性
然后再使用一个实体类来封装这些信息
123456789import lombok.Data;import org.springframework.boot.context.properties.ConfigurationProperties;@Data // 自动生成get、set方法@ConfigurationProperties(prefix = "student") // 绑定配置文 ...
Linux常见问题
Linux环境
Nginx安装报错
configure编译错误
make安装错误
解决方法
错误表示说没有找到error.log文件,没有办法设置日志文件环境变量,所以报错了。
那我们创建一个就好了,报错的路径在哪里,我们就在哪里创建一个日志文件。
12mkdir -p /usr/local/nginx/logs/touch /usr/local/nginx/logs/error.log
PHP-FPM启动报错
排查错误
启动PHP-FPM报错
1Job for php-fpm.service failed because the control process exited with error code. See "systemctl status php-fpm.service" and "journalctl -xe" for details.
查看PHP-FPM状态
查看状态是否报错,或者看看能不能从状态看出点问题来。
12345678910111213141516[root@ECS- bin]# systemctl ...
Flarum问答社区
前言
中文站:https://flarum.org.cn/
Flarum 是一款非常简洁的开源论坛软件。 它响应快速、简便易用,拥有打造一片成功的社区所需的所有功能。 它也极其可扩展,允许达到终极的可定制性。
Flarum 的前身是 esoTalk 和 FluxBB, 它生来就被设计如此:
快速、简单。 不杂乱不臃肿,没有复杂的依赖关系。 Flarum 使用 PHP 构建,因此很容易被部署。 界面采用高性能且小巧的 JavaScript 框架 Mithril。
漂亮、响应式。 以人为本的论坛软件。 Flarum 被精心设计以在不同平台间保持一致性和直观性,开箱即用。
强大、可扩展。 您可以客制化、扩展或集成 Flarum 以满足您的社区需求。 Flarum 基于 MIT 协议 发布。
免费、开源。 Flarum 以 MIT 许可证 发布。
安装Flarum
安装Flarum的方式有两种,一个是Docker一个是直接安装,Docker方式安装方便,快速,直接拉取镜像一个命令就可以快速启动,但稳定性不如直接安装。直接安装就是环境比较复杂,但比较稳定。
Docker方式安装
...
【SpringBoot系列】2-整合SSMP+高级配置
什么是SSMP?
SSMP和SSM差不多,只是将SSM中的Mybatis换成MybatisPlus,其中SSM是Spring、SpringMvc、Mybatis框架的整合,是标准的MVC模式,标准的SSM框架有四层,分别是dao层(mapper),service层,controller层和View层。使用spring实现业务对象管理,使用spring MVC负责请求的转发和视图管理,mybatis作为数据对象的持久化引擎。
我们下面讲解整合一下Junit、Mybatis、MybatisPlus、Druid,然后做一个小案例。
创建SpringBoot项目
创建SpringBoot有几种方式,一种是使用Maven来创建SpringBoot项目,一种是从官网配置项目信息,然后下载压缩包在本地打开,还有一种是直接在idea创建SpringBoot项目,下面演示在idea创建一个SpringBoot项目:
分析pom依赖
我们在创建SpringBoot项目时,如果不勾选任何依赖,在创建项目后,我们在pom.xml文件可以看到下面这段标签,这就是SpringBoot自带的Junit5 测 ...