关于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 ...
你真的了解RocketMQ消息队列吗
RocketMQ介绍RocketMQ消息队列(MQ),是一个开源的分布式消息和流平台,由阿里巴巴开发。它构建在Java虚拟机(JVM)之上,使用Java编写。RocketMQ旨在处理大量数据,并提供发布-订阅消息、消息过滤、容错和高可伸缩性等功能。
主要特点
发布-订阅消息模型:RocketMQ支持发布-订阅消息模式,生产者将消息发布到特定主题,而消费者则订阅这些主题以接收消息。
消息队列:RocketMQ中的消息存储在队列中,可以实现高效的消息传递和消费。
高吞吐量和低延迟:RocketMQ经过优化,具有高吞吐量和低延迟,适用于实时消息和流应用程序。
横向扩展性:RocketMQ可以通过添加更多的代理来实现水平扩展,以分发消息负载并提高容错性。
可靠性和容错性:RocketMQ提供消息复制和故障转移等功能,以确保在分布式环境中的消息可靠性和容错性。
消息过滤:RocketMQ支持基于类似SQL的语法的消息过滤,允许消费者指定选择消息的条件。
监控和管理:RocketMQ具有内置的监控和管理工具,用于跟踪消息传递、监视系统健康状况和管理资源。
适用场景
实时数据处理:RocketM ...
RocketMQ在Linux下载安装及部署
RocketMQ介绍RocketMQ消息队列(MQ),是一个开源的分布式消息和流平台,由阿里巴巴开发。它构建在Java虚拟机(JVM)之上,使用Java编写。RocketMQ旨在处理大量数据,并提供发布-订阅消息、消息过滤、容错和高可伸缩性等功能。
了解更多点击【你真的了解RocketMQ消息队列吗】
安装环境由于RocketMQ是基于Java开发的,所以需要安装一些环境
JDK环境,博主服务器用的是JDK8,安装步骤可以参考【Linux下安装JDK8】
Maven环境,博主用的Maven版本是maven-3.6.3,安装步骤可以参考【Maven在Linux下载安装及配置】
RocketMQ的安装下载不想花时间看完该博客的,也可以参考官方的简单的安装流程【官方流程】
接下来就由博主分享自己的安装经验 👉🏻 👉🏻 👉🏻
方式一:普通Linux下安装下载RocketMQ【RocketMQ 官方网站】
下载最新版的二进制包
创建RocketMQ文件夹123cd /usr/localmkdir rocketmq
上传服务器把从官网上下载的二进制zip包上传到/usr/ ...
Java中关于抛出异常的几个关键点
前言编写代码过程中,使用事务回滚很常见,但关于事务回滚有几个很基础的问题
事务错误示范1234567@Transactionalpublic String checkDemo(String id) throws Exception{ if (id == null){ throw new Exception("ID不能为空"); } return "success";}
上述代码中,直接抛出了Exception异常,这种事务是无法控制住的,无法进行回滚。
进入@Transactional注解,其中有一个rollbackFor()回滚,官方文档中规定了只会对运行时异常和错误进行回滚。
如果仅仅抛出一个Exception受检异常,是无法进行回滚的。
正确示范想实现事务回滚,必须要符合官方文档中规定的方式
例如:在注解中声明一下回滚异常类型,或抛出RuntimeException异常
方式一:注解规定类型代码中虽然使用了Exception异常,但是在注解中声明了方法中需要回滚的异常类型,所以下 ...