tanzhuo

tanzhuo

专研技术的程序员

Linux 系统不同发行版对比

linux系统有着不同的发行版本,不同的组织对其自己的发行版进行维护。此次笔记记录我认知的部分发行版的区别。 1、Debian 是目前我最喜欢使用的发行版,它的10版本非常稳定,并且系统占用非常小。是目前我在生产环境的选择。 2、CentOS 是 Red Hat 从商业收费操作系统的分支版本,在商业操作系统上进行了免费。功能以及稳定性目前也是非常不错,但肯定在某些地方有阉割。毕竟人家有一个收费的系统。并且 CentOS 目前已经停止了维护,原作者 Gregory Kurtzer 也启动了新项目的 Rocky Linux 操作系统。 3、Ubuntu 是从 Debian 为基础上进行开发的操作系统,功能更加丰富,强大,但稳定性以及系统资源占用却远远不及 Debian 操作系统。 4、openSUSE 据说是德国最受欢迎的操作系统,其稳定性应该非常不错,有机会我会试一试与Debian的区别。
1 min read

Linux 目录结构分析

/bin:存放着常用的指令和二进制可程序。 /boot:存放启动Linux系统的内核文件,包括连接文件和镜像文件。 /dev:Device(设备)的缩写,是 Linux 系统目前连接的外部设备,外部设备的访问和文件访问的方式一样。 /etc:专用于存放系统的配置文件和子目录列表。 /home:用户文件夹,每个系统账号都会创建一个不同的文件夹名称。 /root:管理员用户的主目录。 /run:临时文件目录,存储系统启动以来的临时信息,当系统重启,该目录下的文件将会被清理掉。 /sbin:管理员用户才能执行的命令和程序文件夹。 /tmp:临时文件目录。10天内未访问、未更该或未修改的文件将自动从这个目录中删除。 /usr:用户应用程序和文件放置的文件夹目录。 /var:存放着经常变动的文件,例如系统日志等文件。
1 min read

Linux 挂载新磁盘

1、磁盘连上主板(很重要) 2、重启系统 reboot 3、查看磁盘检查到没有 fdisk -l 4、进入磁盘 fdisk /dev/{磁盘名称} 5、把磁盘分区设置好,可以只分一个区 6、格式化分区 mkfs.ext4 /dev/{分区名称}  7、挂载分区 mount /dev/{分区名称}  /{某个文件夹} 8、设置开启自动挂载,编辑 /etc/fstab 文件 vim /etc/fstab 添加如下信息 /dev/(磁盘分区) /(挂载目录) ext4(文件格式)defaults 0 0
1 min read

Docker Compose 基本使用

我们安装 docker 之后,便会启动很多容器服务,但对应这些容器如何统一编排,网络组管理,启动顺序,挂载数据卷,成为了问题,于是 docker 团队开发了 docker-compose 组件来便于我们编排容器。 开源项目地址: https://github.com/docker/compose 1、下载文件后上传值服务器 /usr/local/bin 文件夹。 2、添加文件执行权限 sudo chmod +x /usr/local/bin/docker-composedocker-compose 只是一个二进制文件,可以直接运行在 linux 系统上,通过docker-compose 可以使用 yaml 文件来配置应用程序需要的所有容器。然后使用一个命令 docker-compose up -d,就可以从 yaml 文件配置中创建并启动所有服务。
1 min read

CentOS 安装 Docker

随着目前容器技术的流行,学习如何安装docker也是至关重要的。 1、安装对应 yum 工具包  sudoyum install -y yum-utils \  device-mapper-persistent-data \  lvm22、设置国内源地址,加快docker下载速度 sudo yum-config-manager \ --add-repo \    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo3、列出对应版本包 yum list docker-ce --showduplicates|sort-r4、安装对应版本docker sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io例子:修改对应 docker
1 min read

K3S 集群搭建

最近学习了K8S集群的部署,期间使用了很多的部署方式,例如官方给出的 kubeadm 工具,青云的KK工具一键部署,也有github上开源免费或收费的一键部署工具,都尝试过,但最后选择了K3S-up 来进行集群的部署。 相对于K8S来说,K3S系统容器数量少,轻量级,并且默认使用 containerd 作为容器运行时,内部的 ingress 使用的是 go 语言开发的 traefik,集成了SQLite 代替 Etcd,但在多个master节点中最好使用 Etcd 组件,来保证数据一致性,从而可以HA。 本次搭建选用阿里云6台共享性服务器。 3台master(2核4g) 3台worker(2核4g) 并搭建 HA-etcd 高可用 k3s 集群。 系统使用 debain 10.10 。 前提条件: 1:先关闭防火墙。并更新 apt-get update。
3 min read

Jenkins自动化发布

记录一下最近配置Jenkins的部分步骤: 整体流程:使用 docker 部署Jenkins 进行线上发布并打包docker镜像上传至私有docker镜像仓库、并配置 docker login 线上推送/拉取镜像发布运行。 安装docker 拉取 Jenkins 镜像就不再描述,有很多帖子。 1、配置并安装maven、jdk、git、nodeJs等基本组件 2、安装对应各种支持插件、如gitlab。 nodejs 插件前端发布使用 连接远程服务端并执行命令插件 3、创建任务、并配置任务各个环节执行命令与使用组件 3.1、拉取git库代码 3.2、替换源码中的环境值、如dev环境替换为pro nacos 连接地址与命令空间等 我使用的是最简单的sed -i 命令,该命令可以匹配正则表达式从而替换文本字符串。 3.3、进行maven打包 4、打包完成之后使用shell命令把target包下的jar包cp到对应docker-compose文件下,此处需要提前写好docker-compose文件与对应服务的docker-file文件。 5、
2 min read

Java逻辑引擎的构思

在工作中多年之后,深知设计模式的重要性,设计模式的合理使用可以让我们复杂的业务逻辑实现得更加的灵活,更好的支持多态性,易扩展,易维护等好处。 那么可不可以设计一款专门为后端java开发人员量身定制一款本身就具备了设计模式的UI逻辑引擎。开发人员只需要进行逻辑组件的组合,然后再双击组件书写SQL或JAVA代码,把组件的成员变量进行传递,并最终入库。 原理类似于目前的kettle工具。 如果有这样的逻辑引擎我们java开发势必能够大幅度减少工作量。 其中的灵感来至于我在工作中使用的,工厂模式,代理模式,策略模式,装饰模式与SPI构思思想组合而成的。 通过UI组件生成的配置文件,告诉代理策略类,调用其中对应组件逻辑单元.class文件。在系统启动时加载所有的逻辑策略,确保spring bean都可以正常加载入内存。 后续执行全部通过代理策略类进行逻辑处理。组装每一个单独的bean,从而完成一个复杂的业务逻辑。 这样的的实现也符合单一职责原则与开闭原则。 可能在目前市场上对应的项目就是低代码平台或者零代码平台了吧。
2 min read

Subscribe to 随心笔记

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe