Linux下安装Jenkins
前言Jenkins 是一个开源的持续集成工具,广泛应用于自动化构建、测试和部署。本文将详细介绍如何在 Linux 系统中基于 JDK8 安装 Jenkins,包括所需命令和相关配置,帮助您快速搭建一个功能完善的 Jenkins 环境。
Jenkins官网地址Jenkins 插件地址Jenkins英文官网 war包最新版本下载,主要版本使用2.346.1或2.346.3Jenkins中文官网 war包最新版本下载,主要版本使用2.346.1或2.346.3Jenkins官网 rpm包下载,主要版本使用jenkins-2.346-1.1.noarch.rpm
支持JDK对应列表
ps:官网中有两个版本支线,Weekly周更版本 和 LTS长期成熟稳定支持版本,主要使用稳定的 LTS版本如图所示,非常经典的版本2.346.1,这个版本同时支持 JDK8、JDK11、JDK17,使用的最广泛,也意味着坑最多
环境准备
操作系统: Linux CentOS
Java 环境: JDK 8
Jenkins版本: jenkins-2.346.3(支持JDK 8)、jenkins-2.479.2( ...
群晖NAS关于反向代理及映射网口问题
前言个人使用群晖NAS时,经常遇到在外地访问家里的NAS服务器(域名+端口)的场景。这种情况就会涉及到端口映射及反向代理的问题。
反向代理场景博主想访问家里NAS中利用Docker启动的某个程序(端口:18080):http://nas.renyuxin.cn:18080
ps:该场景是基于能通过域名正常匹配上家里的IP地址(动态固定IP)
Docker使用的是HTTP协议,如果普通程序在没有特殊情况下,是允许使用HTTP协议进行访问的,但某些程序由于加了访问条件限制,浏览器访问必须得使用HTTPS协议才能正常访问,所以我们就需要在NAS中做反向代理。
解决方案
群晖控制面板 -> 登录门户 -> 高级 -> 反向代理服务器 -> 新增 -> 填写配置
修改完后,点击保存
网页访问测试:http://nas.renyuxin.cn:18081,成功
填写配置时,这里一定注意来源这组配置,我们是需求是支持通过HTTPS协议进行访问的,需要用一个未被占用的18081端口反向代理到这个18080端口上。
至于其他配置的可以根据下图仿照着修改。
保存后 ...
如何获取某个网站的图标LOGO
前言在整合自己的网站导航时,需要获取网站的图标LOGO,个人手动收集网站图标LOGO非常麻烦,主要是查看网站源码、百度、谷歌等途径把对应导航的图标下载下来,累死累活也收集不了多少,所以找了几个api,可以快速获取网站的图标LOGO。
一为API
接口地址:https://api.iowen.cn/favicon
返回格式:图片
请求方式:GET
请求格式:https://api.iowen.cn/favicon/网址.png
请求示例:https://api.iowen.cn/favicon/blog.renyuxin.cn.png
请求参数说明:
名称
必填
类型
说明
url
是
string
需要获取图标的URL地址,如:blog.renyuxin.cn,确保URL能够正常打开 不需要 http(s):// ,且结尾必须填.png
关于pm2命令的使用指南
前言在Node.js项目中,进程管理是一个重要的部分。pm2 是一个非常流行的Node.js进程管理工具,它可以帮助我们管理和监控Node.js应用的运行状态。本文将介绍 pm2 的安装和基本使用方法,更好地管理Node.js项目。
ps:博主经常喜欢折腾些小玩意,用的是自己的服务器。但是在部署这些小玩意的时候,启动后要持久化,由于有些小玩意并不支持自带的命令,所以就写了一个关于pm2命令的使用指南,方便以后使用。
介绍【PM2官方网站 | Github】pm2 是一个Node.js进程管理器,专为生产环境下的应用程序设计。
提供了进程守护、负载均衡、日志管理、性能监控等功能。它允许你轻松地启动、停止、重启和监控Node.js应用程序,并提供了友好的命令行接口和强大的API。
它可以自动重启崩溃的应用,支持负载均衡,还提供了详细的日志管理和监控功能。
pm2 使得Node.js应用的部署和管理变得更加简单和高效。
安装在Linux系统上安装 pm2 非常简单,只需执行以下命令12345# 使用npm全局安装PM2npm install pm2 -g# 验证成功pm2 - ...
Linux下安装Go
前言
Go,又称 Golang
Google的 Robert Griesemer,Rob Pike 及Ken Thompson开发的一种静态强类型、编译型语言。
Go语言语法与C相近,但功能上有:内存安全,GC(垃圾回收),结构形态及CSP-style并发计算。
创建文件夹在/usr/local路径下创建一个文件夹java
1mkdir /usr/go
安装进入到到/usr/go目录下,使用yum下载安装GO
1yum install golang
配置软连接1ln -s /usr/go/bin/go /usr/local/bin/
测试安装成功1go version
输出:12[root@SMART ~]# go versiongo version go1.15.6 linux/amd64
关于Hugo的使用安装及部署
前言Hugo是由Go语言实现的静态网站生成器。简单、易用、高效、易扩展、快速部署。【Hugo 中文文档】
ps:需要先安装go环境,参考文章:Linux下安装Go下安装Go
下载安装包去Hugo官网下载安装包或者Github下载:Github | gohugoio/Hugo
例如:hugo_extended_0.129.0_Linux-64bit.tar.gz
创建文件夹在Linux创建文件夹/usr/local/hugo1mkdir /usr/local/hugo
解压安装包1tar -zxvf hugo_extended_0.129.0_Linux-64bit.tar.gz -C /usr/local/hugo
验证安装1234567cd /usr/local/hugo./hugo version````# 配置软连接```shellln -s /usr/local/hugo/hugo /usr/local/bin/
配置域名我用是阿里云平台的域名,配置的是nav.renyuxin.cn。关于域名注册解析具体流程就不说了
配置Nginx域名直接访问,需要配置Nginx
12 ...
Java中关于JDK8新特性的介绍及使用示例
前言JDK 8(Java Development Kit 8)引入了许多新的特性和改进,使得Java语言更加现代化和易于使用。以下是JDK 8的一些主要新特性:
Lambda表达式允许把函数作为参数传递给方法,简化代码编写,提高代码的可读性和可维护性。
1234567891011// 传统写法new Thread(new Runnable() { @Override public void run() { System.out.println("Hello, world!"); }}).start();// Lambda表达式new Thread(() -> System.out.println("Hello, world!")).start();
函数式接口只包含一个抽象方法的接口,称为函数式接口。可以用Lambda表达式来实现函数式接口。
例如,java.util.function包中的接口(如Function, Predicate, Consumer等)。
...
数据库设计规范
前言
制定规范的直接目的是约束设计行为,最终目的是确保设计的合理统一。
约定优先于配置(Convention Over Configuration)。数据库命名规范、数据库基本设计规范、数据库索引设计规范、数据库字段设计规范、数据库SQL开发规范、数据库操作行为规范
数据库规范库名规范
命名有意义,只能使用英文字母、数字、下划线,使用小写字母,长度32个字符以内
避免用MySQL的保留字如:call、group等
编码
采用 UTF8 编码。 只能是utf8或者utf8mb4
分库
名称:库通配名+编号(从0开始递增),比如:wenda_001
把一个数据库分成多个,建议做个读写分离,做分库会加大开发成本,不推荐使用。
采用分库策略的,库的数量不能超过1024
数据表表名
命名有意义,只能使用英文字母、数字、下划线,使用小写字母,表名不使用复数名词,长度32个字符以内
避免用MySQL的保留字如:call、group等
同一模块使用的表名尽量使用统一前缀。 模块前缀+表名,如师资系统采用”sz”作为前缀,渠道系统采用”qd”作为前缀等。
相关模块的表名与表名之间尽量体现jo ...
SpringBoot中如何使用RocketMQ消息队列
前言
使用RocketMQ首先确保已经启用RocketMQ消息队列。
如果没有启用或还没安装RocketMQ,可以先了解【RocketMQ在Linux下载安装及部署】
如果想先了解RocketMQ,可以先看下【你真的了解RocketMQ消息队列吗】
记得把防火墙的端口【9876、10911】放开
JAVA原生代码调用引入Maven依赖12345<dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <version>4.9.4</version></dependency>
生产者123456789101112131415161718192021222324252627import org.apache.rocketmq.client.producer.DefaultMQProducer;import org.apache.rocketmq.client. ...
Maven在Linux下载安装及配置
介绍Maven是一个强大的项目管理工具和构建自动化工具,它是基于Java平台的项目管理和构建工具。Maven的主要目标是帮助开发人员更容易地管理和构建Java项目。
下载【官网下载地址】
下载最新版该篇文章以最新版【apache-maven-3.6.3-bin.tar.gz】为例
下载其他版本
上传安装新建maven文件夹,并上传安装包123456# 进入 /usr/local 文件夹cd /usr/local# 创建 maven 文件夹mkdir maven# 进入到 /maven 文件夹cd maven
将下载好的apache-maven-3.6.3-bin.tar.gz上传到/usr/local/maven路径下
解压1tar -zxvf apache-maven-3.6.3-bin.tar.gz
配置环境变量修改Maven配置进入profile文件,编辑配置
1vi /etc/profile
编辑内容如下1234# mavenexport MAVEN_HOME=/usr/local/maven/apache-maven-3.6.3# pathexport PA ...