forever杨的个人博客

I want to be forever young!


  • 首页

  • 文章202

  • 分类31

  • 标签175

  • 公益

  • 关于

  • 搜索

docker gitlab安装和配置

发表于 2020-08-24 | 更新于 2021-12-09 | 分类于 git
| 字数: 588 | 时长 ≈ 1 分钟
标签 docker gitlab

使用docker安装

docker-compose.yaml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
version: "3.8"

services:
gitlab:
container_name: ts_gitlab
image: gitlab/gitlab-ce:13.2.6-ce.0
ports:
- "8082:8082"
volumes:
- "./data:/var/opt/gitlab"
- "./logs:/var/log/gitlab"
- "./config:/etc/gitlab"
- "/etc/localtime:/etc/localtime"
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url "http://ip:8082"
gitlab_rails['time_zone']=CST
restart: always

GITLAB_OMNIBUS_CONFIG查看https://docs.gitlab.com/omnibus/docker/

编辑站点信息

vi /etc/gitlab.rb

配置

gitlab-ctl reconfigure

docker nginx-1.18.0-alpine 配置

发表于 2020-08-19 | 更新于 2022-06-21 | 分类于 docker
| 字数: 9.4k | 时长 ≈ 9 分钟
标签 docker-compose nginx

nginx 自定义证书

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/sh

# create self-signed server certificate:
read -p "Enter your domain [www.example.com]: " DOMAIN

echo "Create server key..."
openssl genrsa -des3 -out $DOMAIN.key 1024

echo "Create server certificate signing request..."
SUBJECT="/C=US/ST=Mars/L=iTranswarp/O=iTranswarp/OU=iTranswarp/CN=$DOMAIN"
openssl req -new -subj $SUBJECT -key $DOMAIN.key -out $DOMAIN.csr

echo "Remove password..."
mv $DOMAIN.key $DOMAIN.origin.key
openssl rsa -in $DOMAIN.origin.key -out $DOMAIN.key

echo "Sign SSL certificate..."
# 36500 天过期
openssl x509 -req -days 36500 -in $DOMAIN.csr -signkey $DOMAIN.key -out $DOMAIN.crt

echo "TODO:"
echo "cp $DOMAIN.crt to /etc/nginx/ssl/$DOMAIN.crt"
echo "cp $DOMAIN.key to /etc/nginx/ssl/$DOMAIN.key"
echo "Add configuration in nginx:"
echo "server {"
echo " ..."
echo " listen 443 ssl;"
echo " ssl_certificate /etc/nginx/ssl/$DOMAIN.crt;"
echo " ssl_certificate_key /etc/nginx/ssl/$DOMAIN.key;"
echo "}"
阅读全文 »

Linux rpm 命令

发表于 2020-08-17 | 更新于 2020-10-19 | 分类于 Linux
| 字数: 152 | 时长 ≈ 1 分钟
标签 shell rpm

先检测是否这些软件包是否已经安装

1
rpm -qa | grep telnet

卸载rpm包

如果已经安装了,又不清楚顺序,可以都卸载后统一安装

1
rpm -e telnet-0.17-64.el7.x86_64

安装rpm包

1
rpm -ivh telnet-0.17-64.el7.x86_64.rpm

docker 安装 Oracle

发表于 2020-06-28 | 更新于 2021-09-12 | 分类于 Oracle
| 字数: 1.1k | 时长 ≈ 1 分钟
标签 docker oracle

安装

https://hub.docker.com/r/loliconneko/oracle-ee-11g

1
docker pull loliconneko/oracle-ee-11g
阅读全文 »

树结构数据转换

发表于 2020-06-05 | 更新于 2021-09-13 | 分类于 vuejs
| 字数: 865 | 时长 ≈ 1 分钟
标签 vue

公共方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/**
* 树形数据转换
* @param {*} data
* @param {*} id
* @param {*} pid
*/
export function treeDataTranslate(data, id = 'id', pid = 'parentId') {
var res = []
var temp = {}
for (var i = 0; i < data.length; i++) {
temp[data[i][id]] = data[i]
}
for (var k = 0; k < data.length; k++) {
if (temp[data[k][pid]] && data[k][id] !== data[k][pid]) {
if (!temp[data[k][pid]]['children']) {
temp[data[k][pid]]['children'] = []
}
if (!temp[data[k][pid]]['_level']) {
temp[data[k][pid]]['_level'] = 1
}
data[k]['_level'] = temp[data[k][pid]]._level + 1
temp[data[k][pid]]['children'].push(data[k])
} else {
res.push(data[k])
}
}
return res
}

getMyIp

发表于 2020-06-01 | 更新于 2024-01-12 | 分类于 Linux
| 字数: 426 | 时长 ≈ 1 分钟
标签 IP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function getMyIp() {
case "`uname`" in
Darwin)
myip=`echo "show State:/Network/Global/IPv4" | scutil | grep PrimaryInterface | awk '{print $3}' | xargs ifconfig | grep inet | grep -v inet6 | awk '{print $2}'`
;;
*)
myip=`ip route get 1 | awk '{print $NF;exit}'`
;;
esac
echo $myip
}

LOCALHOST=`getMyIp`
echo $LOCALHOST

监控 Java 应用信息

发表于 2020-06-01 | 更新于 2020-11-05 | 分类于 Linux
| 字数: 5.4k | 时长 ≈ 5 分钟
标签 Java

信息输出

主要输出CPU、内存、线程、链接等使用情况

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#[yl@yl-test ~]$ curl http://localhost:8080/moniter-java.sh -s | sh
[yl@yl-test ~]$ sh moniter-java.sh

==================== 2020-06-01 10:57:09 ====================
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
USER STIME | %CPU %MEM thrd | conn dbLn | lsnPorts:conn:wait | PID | path
root Apr30 | 0.0 1.5 21 | | | 1394 |
imhtp May28 | 0.0 5.1 38 | | | 14510 | /opt/timer/data-job.jar
imhtp May08 | 0.0 5.5 36 | 10 3 | 20880:5:0 | 1484 | /opt/ds-service/project/ds-service.jar

imhtp May18 | 0.0 11.4 37 | 1 0 | 8021 | 1171 | /opt/xmt/tomcat/

imhtp Apr30 | 0.0 5.4 17 | 19 0 | 2080:19:0 40540 | 2613 | /opt/zookeeper/zookeeper-3.4.10.jar
==================== 2020-06-01 10:57:09 ====================
阅读全文 »

Oracle 按分区同步数据到另一个库

发表于 2020-05-12 | 分类于 Oracle
| 字数: 524 | 时长 ≈ 1 分钟
标签 Oracle

需求

A库中某些大表(1年数据量10+亿条)数据只保留最近3个月数据,超过3个月的数据,都迁移到B库中保存,然后删除A库中已经迁移的数据。

阅读全文 »

Dubbo 优雅停机 restart 脚本

发表于 2020-02-28 | 分类于 Java
| 字数: 3.2k | 时长 ≈ 3 分钟
标签 Apache shell alibaba Dubbo Linux

优雅停机

  • 使用 kill -9 pid 不能优雅停机
  • 使用 kill pid 可以优雅停机
阅读全文 »

Kettle 配置及问题汇总

发表于 2019-12-23 | 分类于 kettle
| 字数: 258 | 时长 ≈ 1 分钟
标签 kettle

共享配置

默认共享数据保存在用户目录的share.xml文件。可以通过修改kettle.properties来修改保存位置

1
2
3
# Custom Setting
# 会在kettle安装目录生成一个share.cache文件,并把共享数据保存到该文件
KETTLE_SHARED_OBJECTS=share.cache

共享 step 后出现异常

共享DB连接无此问题。

share.xml默认utf-8是编码,当共享step后编码变了ANSI,导致读取共享数据出错。将share.xml手动utf-8编码可以解决问题。

Mac Kettle 安装

发表于 2019-12-23 | 更新于 2021-04-03 | 分类于 kettle
| 字数: 2.6k | 时长 ≈ 2 分钟
标签 kettle

下载

https://sourceforge.net/projects/pentaho/files/

版本:9.1

安装

下载 zip 包后,解压到相应目录即可

启动

执行spoon.command启动 kettle

阅读全文 »

分布式锁

发表于 2019-12-23 | 更新于 2020-01-21 | 分类于 Java
| 字数: 1.1k | 时长 ≈ 1 分钟
标签 spring redis

spring-integration-redis

初始化 RedisLockRegistry

1
2
3
4
5
@Bean
public RedisLockRegistry redisLockRegistry (RedisConnectionFactory factory) {
// 60s过期,单位:ms
return RedisLockRegistry(factory, "ts-template", 60000L);
}
阅读全文 »

Kettle-Java代码:分布式Id生成器

发表于 2019-12-20 | 更新于 2021-05-11 | 分类于 kettle
| 字数: 1.7k | 时长 ≈ 2 分钟
标签 kettle Snowflake Java

当使用Kettle导入数据到数据表时,由于使用的是Oracle,所以自然而然想到使用增加序列对象去获取一个Id,但是经过测试这种方式非常慢。

以下对比2种不同方式的导入速度:

  • 序列生成Id
  • 分布式Id生成器
阅读全文 »

spring-cache 动态过期时间配置

发表于 2019-12-02 | 更新于 2024-01-14 | 分类于 Java
| 字数: 21k | 时长 ≈ 19 分钟
标签 spring cache

实现思路

  • 第 1 步
    • 自定义 CacheResolver
    • 通过 CacheOperationInvocationContext 获取到方法的参数名和参数值
    • 重写一个 cacheName(原始cacheName + “#” + 过期时间拼接在一起)
  • 第 2 步
    • 重写 CacheManger 的 getCache 方法,通过第一步拼接的 cacheName split 出原始 cacheName 和过期时间
    • 根据 split 出来的 cacheName 和过期时间,初始化一个 RedisCacheConfiguration,并通过 createRedisCache(cacheName, cacheConfiguration) 实例化一个 cache
阅读全文 »

OkHttp 动态超时时间配置

发表于 2019-11-30 | 更新于 2021-05-11 | 分类于 Java
| 字数: 8.1k | 时长 ≈ 7 分钟
标签 OkHttp

思路

  • 自定义一个拦截器
  • 在拦截器中重置超时时间等配置
阅读全文 »
1…456…14
forever杨

forever杨

开心又过一日,唔开心又过一日

202 文章
31 分类
175 标签
GitHub
友情链接
  • Tidy的个人博客
© 2024 forever杨 | 站点总字数: 706k