Jenkins如何在声明式Pipeline中指定JDK版本
jenkins - 如何在声明性管道 Jenkins 中选择多个 JDK 版本jdk11版本jenkins打包jdk8项目,同时兼容jdk11与jdk8
Jenkins如何在声明式Pipeline中指定JDK版本背景说明docker 安装的 Jenkins JDK 版本为 1.8,将 maven 挂载进 Jenkins docker 中使用,maven 将会调用默认的 JDK1.8 来构建:
123456$ mvn -versionApache Maven 3.8.8 (4c87b05d9aedce574290d1acc98575ed5eb6cd39)Maven home: /usr/local/mavenJava version: 1.8.0_272, vendor: Red Hat, Inc., runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.272.b10-1.el7_9.x86_64/jreDefault locale: en_US, platform encoding: UTF-8OS name: "linux&qu ...
二进制安装Amazon Corretto JDK11
又一种JDK选择——Amazon CorrettoAmazon Corretto 官网Amazon Corretto JDK11
二进制安装Amazon Corretto JDK11yum 或 apt 方式安装非常简单,请参考官方文档指引 在基于 Debian 的 Linux、基于 RPM 的 Linux 和 Alpine Linux 上安装
本文主要介绍二进制安装,更加适用于跨平台、Ansible 剧本、Jenkins 挂载高版本 JDK 等场景。
下载Downloads 下载二进制包 amazon-corretto-11-x64-linux-jdk.tar.gz
安装1234cd /usr/local/srcwget https://corretto.aws/downloads/latest/amazon-corretto-11-x64-linux-jdk.tar.gztar xvf amazon-corretto-11.0.19.7.1-linux-x64.tar.gz -C /usr/localln -s /usr/local/amazon-corretto-11.0 ...
keepalived+redis 高可用
redis高可用:keepalived+redis主从部署
Redis Master-Slave + Keepalived + VIP这是很经典的高可用架构,当然也适用于 mysql 高可用。
本例不同的是,Keepalived 没有做 check.sh 的检测,是通过 Keepalived 默认的 VRRP 来进行心跳检测与切换的,即 HOST 宕机或 Stop Keepalived 才会发生主备切换、VIP 漂移。
该架构思路适用的环境:
双机均部署了 mysql, redis 单实例(不适用于单机多实例)
mysql 为双主复制,Redis 为主从复制
只有一个 VIP,业务应用 DB连接串为这一个单 VIP:3306, VIP:6379
适用于中小型业务规模,请求量一般,不支持 DB的横向扩展(或需要另外建设DB中间件),依赖单台服务器的纵向配置扩展。
架构图
架构说明
角色
IP
HOST1
192.168.50.32
HOST2
192.168.50.34
VIP
192.168.50.100
两台主机 keeplived 起始状态均设置为 ...
Nexus3 作为 Rockylinux yum 私有仓库
Nexus3 Documentation for YUM Repository使用nexus3发布yum私服(离线-内网)
Nexus3 作为 Rockylinux yum 私有仓库1.Nexus3 yum 仓库类型Nexus3 Yum Repository 仓库的类型有三种:
yum(hosted) 自托管仓库,用户手动上传包,一般用作于离线环境仓库使用。
yum(proxy) 远程仓库的代理,能够配置公网镜像仓库地址,从而进行缓存本地不存在的包,供局域网客户端内网使用。(Nexus3需要能访问物联网)
yum(group) 聚合仓库,能够添加多种类型的仓库并设置优先级,聚合成一个 URL 对外提供服务,可以屏蔽后端的差异性,实现类似透明代理的功能
本文只用到 yum(proxy) 代理仓库。
2.创建 Blob Stores分别创建两个 Blob Stores:
Type:选择 File
Name:名称自定义
Path:对应服务器上的存储路径。在填入 Name 之后,Path 会自动生成
其他保持默认。Enable Soft Quota 限制目录的大小。这里不做限 ...
Linux 动态库,ldd,ldconfig命令
认识 Linux 静态库与动态库
Linux —— 动态库和静态库
什么是 Linux 静态库、动态库
静态库:程序在编译链接的时候把库的代码链接到可执行文件中。程序运行的时候将不再需要静态库。
在 Linux 中静态库是以 .a为后缀。
在 Windows 中以 .lib 结尾的是静态库。
动态库:程序在运行的时候才去链接动态库的代码,多个程序共享使用库的代码。
在Linux 中动态库是以 .so 为后缀。
在 Windows 中以 .dll 结尾的后缀,是动态库。
Linux 静态库、动态库有什么特点静态库的特点:
静态库在可执行程序链接时就加入到可执行代码中,在物理上成为可执行程序的一部分;程序运行时将不再需要该静态库。
相对于动态库链接生成的程序,静态函相当于编译器将代码补充完整了,因此执行程序会大一些,但是运行起来相对快些;
静态库是牺牲了空间效率,换取了时间效率;
动态库的特点:
动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在;
动态库只有在程序执行时, 那些需要的函数代码才被拷贝到内存中。这样就使可 ...
python报错:ImportError libmysqlclient_r.so.16 cannot open shared object file No such file or directory
python报错:ImportError: libmysqlclient_r.so.16: cannot open shared object file: No such file or directory故障背景python2 程序启动报错:
123456789$ python application.py Traceback (most recent call last): File "application.py", line 13, in <module> import torndb File "/usr/local/python2/lib/python2.7/site-packages/torndb.py", line 33, in <module> import MySQLdb.constants File "/usr/local/python2/lib/python2.7/site-packages/MySQLdb/__init__.py", line 19, in &l ...
systemd服务管理(四):systemd-analyze 命令分析启动耗时
systemd服务管理(四):systemd-analyze 命令分析启动耗时systemd-analyze 命令用于查看启动耗时
查看操作系统启动耗时123$ systemd-analyzeStartup finished in 638ms (kernel) + 1.003s (initrd) + 1.538s (userspace) = 3.180smulti-user.target reached after 1.272s in userspace
查看每个服务的启动耗时12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849$ systemd-analyze blame 579ms kdump.service 538ms tuned.service 538ms dracut-initqueue.service 232ms NetworkManager-wait-online.se ...
systemd服务管理(三):journalctl 命令检索日志
日志管理之systemd日志
systemd服务管理(三):journalctl 命令检索日志CentOS7 开始使用 systemd-journald 服务来做日志中心库(生成日志文件夹),systemd-journald 守护进程提供一种改进的日志管理服务,可以收集来自内核,启动过程的早期阶段,标准输出,系统日志,以及服务,守护进程启动和运行期间的错误的消息。
systemd-journald 服务的配置文件是 /etc/systemd/journald.conf
1.常用查看日志命令可以只用 journalctl 一个命令,查看上述所有相关日志。
123456journalctl # 查看 /var/log/messagejournalctl -f # 实时追踪 /var/log/messagejournalctl -kf # 实时追踪 内核日志journalctl -u sshd # 查看指定服务的日志journalctl -n 100 -u sshd # 指定显示 ...
Nginx 7层反向代理upstream配置优化
本配置优化参考xxxx私有化架构配置,再根据自身业务环境进行调整。nginx的keepalive和keepalive_requests
Nginx 7层反向代理upstream配置优化nginx 做为我们业务接入层的反向代理服务器,如果内网网络抖动或者后端服务响应异常时,可能会出现 nginx 将 upstream 中的 server 误判为不可用而将其全部都屏蔽,导致网络异常。
本文主要对 nginx 的 ngx_http_upstream_module 模块的max_fails, fail_timeout 及 backup 三个选项进行配置,优化使用场景。
短链接配置优化对于短连请求,nignx 将所有请求反向代理到 backend,backend 做为 nginx 的唯一上游。
/usr/local/nginx/conf/vhosts/template.conf1234567891011121314151617181920212223242526272829303132upstream backend { # server server IP1:POR ...
编译安装 nginx-1.20.2
Write by lyc at 2022-12-21nginx.org
编译安装 nginx-1.20.21.安装依赖包说明:(1)PCRE: localtion 正则匹配、rewrite 相关功能依赖 PCRE 软件包,pcre 1版本已停用,请使用 PCRE2。如追求 PCRE2 最新版功能可以从 pcre2 github 获取源码,编译 nginx 时指定编译参数 --with-pcre=../pcre2-10.39 来提升其版本。
123456$ dnf install pcre2 pcre2-devel -y$ rpm -qa|grep pcre2pcre2-utf16-10.32-3.el8_6.x86_64pcre2-10.32-3.el8_6.x86_64pcre2-utf32-10.32-3.el8_6.x86_64pcre2-devel-10.32-3.el8_6.x86_64
(2)ZLIB nginx 压缩相关功能依赖 zlib 软件包,但 nginx 官方文档 Building nginx from Sources 对该软件包的版本区间有一定的要求,不要蛮 ...