网站备案+服务器迁移数据
前言
趁着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 ...
【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 测 ...
Jenkins集成Gitee持续集成
前言
Jenkins集成Gitlab持续集成
之前使用过Jenkins+Gitlab+Dockerfile+Nginx来部署过SpringBoot项目,这次试试使用Gitee仓库部署项目,使用Gitee来集成项目,对于独立开发者用的更多,使用GitHub需要魔法,有时候push会失败就没办法,用Gitee的效果就会好很多。速度快。
我们还可以将我们的博客源码放在Gitee上,然后在Jenkins自动化构建我们的博客。方面管理。
安装Jenkins
我们使用Docker安装Jenkins,因为如果使用Jenkins安装包可能会因为会因为环境问题导致无法打开Jenkins,之前使用Jenkins的jar包来安装Jenkins,是真的难搞,一大堆因为环境问题无法打开Jenkins,所以我们使用Docker容器来部署Jenkins,这样会避免一些环境的问题。
安装准备
安装Docker(必装)
安装Docker这里就不展开讲了,可以去我之前的文章看看怎么安装Docker。
安装Docker教程:https://blog.hikki.site/2802e5c6.html
安装Mav ...
Java开发Swagger接口文档入门
前言
什么是Swagger?
Swagger是一种API设计工具,在API文档和代码之间建立了关系,并使API文档在不断更改的代码基础上保持最新、准确和可读性。它允许描述API的结构,以便机器可以读取它们,这就是Swagger的所有魅力的根源。通过读取API的结构,它可以自动构建漂亮和交互式的API文档。此外,Swagger还可以为您的API以多种语言自动生成客户端库,并探索其他可能性,如自动测试。
Swagger有什么用?
现在开发项目,大多数都是采用前后端开发,前后端交互都是通过API文档进行交流,前后端各自开发,互不干扰。
传统开发方式
传统的开发模式,后端写好API接口,生成文档,发给前端工程师,前端根据后端发过来的API文档进行开发,但这样做有个缺点,文档无法做到实时同步。
Swagger接口
在Java项目中,集成Swagger后,当我们编写出接口时,Swagger就会自动扫描我们的接口,通过Restful风格发布,每当后端的接口有更新,Swagger都会扫描到,并且更新,通过网页展示每个端接口的情况。
你甚至还能给每个接口添加注释,供前端工程师了解每个接口所需 ...
迁移Docker容器及数据
前言
最近领了一台服务器,感觉闲着也是闲着,倒不如拿来挂一下PT,赚点魔力值也不错,就想安装一下Transmission,但拉取镜像的时候发现,它更新了,并且已经移除了第三方的UI页面,变得好丑好丑的界面,忍不了,得换个好看的。
我在另外的两台服务器也有部署到Transmission这个服务,但以前拉取的镜像,我忘记是哪个版本了,那时候拉取的镜像时最新版latest,没办法根据这个标签来定位镜像,想想倒不如直接将现在这个容器打包复制到这台新服务器上,这样也不用到处找了。
迁移Docker我认为有两个方式:
复制docker-compose.yml文件内容+挂载数据到新服务器(推荐)
打包整个容器成新镜像,将新镜像打包成tar压缩包复制到新服务器
下面演示这两种方式都演示一遍,方便你的选择。
容器数据
可能你有个疑问,如果这个容器里面有什么数据,打包后这些数据怎么办?
答:我们一般在运行docker容器前会设置重要的数据进行挂载到宿主机,这样是为了数据持久化,保证数据不会因为容器的停止而丢失。
当我们有挂载数据到宿主机时,我们可以直接复制这些数据到新的服务器上,并且将docker ...
Spring项目web.xml详解
web-app标签
123456789<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0"> </web-app>
欢迎页
1234<!-- 欢迎页 默认是 webapp/index.jsp --> <welcome- ...
REST风格API开发
REST风格
REST介绍
REST(Representational State Transfer),表现形式状态转换
传统风格资源描述形式
http://localhost/user/getById?id=1
http://localhost/user/saveUser
REST风格描述形式
http://localhost/user/1
http://localhost/user
优点:
隐藏资源的访问行为,无法通过地址得知对资源是何种操作
书写简化
RESTful介绍
按照REST风格访问资源时使用行为动作区分对资源进行了何种操作
http://localhost/users 查询全部用户信息 (查询)
http://localhost/users/1 查询指定用户信息(查询)
http://localhost/users 添加用户信息(新增/保存)
http://localhost/users 修改用户信息(修改/更新)
http://localhost/users/1 删除用户信息(删除)
根据REST风格对资源进行访问称为RESTful
...