爱知笔记

Zhizheng Zhang's Notes


  • 首页

  • 归档

  • 分类

  • 标签

  • 关于

  • 搜索

使用 maven-assembly-plugin 打包

发表于 2018-08-17 | 分类于 Maven

现在有这样一个需求,在一个 java 项目的源码根目录下增加一个 Dockerfile 文件,先把项目打包成一个完整的压缩包 your-app-bin.zip(包含 bin、config、lib 等目录),再把压缩包 your-app-bin.zip 和 Dockerfile 文件一起打包成另一个压缩包 your-app-docker.zip(your-app-bin.zip 和 Dockerfile 文件平级)。

因项目使用 maven 管理,并使用 maven-assembly-plugin 打包。可以在项目 pom.xml 中 maven-assembly-plugin 的配置下增加第二个打包配置文件。

阅读全文 »

Linux 丢失或误删除 libc.so.6 的处理方法

发表于 2018-05-08 | 分类于 Linux

因为要编写 markdown 并生成 html,选择安装 Atom。先是下载了最新版 1.26.1,安装后运行提示主机上 gblic 过时。又下载了一个较旧的版本 1.12.7,安装后运行还是提示主机上 gblic 过时,需要 glibc-2.14。因此决定升级主机 glibc 版本。

阅读全文 »

Excel 自动填充数据

发表于 2018-04-16 | 分类于 Excel

现在有一个需求,在 excel 表格某一列中要填入 80000 个连续的手机号码,从 18900000001 到 18900080000。

手工录入

  • 一个号码一个号码地录入,十分耗时,只录入少数数据时适用。本方法对于填充 80000 个单元格的数据不适用
  • 先录入第一个号码,再通过托动单元格右下角的填充柄填充数据。本方法对于填充 80000 个单元格的数据也不太适用

序列填充

在单元格内填入第一个手机号码 18900000001

阅读全文 »

Linux 端口转发(映射)

发表于 2018-04-14 | 分类于 Linux

当内网集群只开放一台主机(一般称为跳板机或中转机)可以被外界访问时,我们在跳板机或中转机上可以通过 ssh 连接到其它内网主机。

但是,当我们要通过本地浏览器访问某台内网主机上的 web 程序(或通过数据库客户端访问某台内网主机上的数据库)时,要如何做呢?

一种可靠的方法是通过端口转发(映射),架构示意图如下:

阅读全文 »

Linux 用户密码过期

发表于 2018-04-02 | 分类于 Linux

今天,在工作中遇到了 linux 用户密码过期的问题,使用 chage 命令可以设置用户账号和密码的有效期。

chage 命令用法如下

user@server:~$ chage -h
Usage: chage [options] LOGIN

Options:
  -d, --lastday LAST_DAY        set date of last password change to LAST_DAY
  -E, --expiredate EXPIRE_DATE  set account expiration date to EXPIRE_DATE
  -h, --help                    display this help message and exit
  -I, --inactive INACTIVE       set password inactive after expiration
                                to INACTIVE
  -l, --list                    show account aging information
  -m, --mindays MIN_DAYS        set minimum number of days before password
                                change to MIN_DAYS
  -M, --maxdays MAX_DAYS        set maximim number of days before password
                                change to MAX_DAYS
  -R, --root CHROOT_DIR         directory to chroot into
  -W, --warndays WARN_DAYS      set expiration warning days to WARN_DAYS

其中,-E 设置账号过期时间,-M 设置密码过期时间,-I 设置密码失效时间。

阅读全文 »

Redis 集群搭建

发表于 2018-04-02 | 分类于 Redis

源码下载

http://download.redis.io/releases/redis-3.2.11.tar.gz

源码编译

tar zxvf redis-3.2.11.tar.gz
cd ~/redis-3.2.11
make

集群规划及配置

创建集群目录,将编译好的命令文件复制到 bin 目录

mkdir -p /usr/local/redis-cluster/bin
cd ~/redis-3.2.11/src
cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server redis-trib.rb /usr/local/redis-cluster/bin
阅读全文 »

Linux su 命令

发表于 2018-02-02 | 分类于 Linux

今天一个同事问了我一个 linux 相关的问题,在服务器上用 root 用户执行如下命令

cd /elasticsearch/elasticsearch-2.3.2/bin && su elasticsearch && ./elasticsearch -d

好像执行./elasticsearch -d时,还是在root用户

根据他说的情况,我想到 su 是有命令参数的,根据他的命令,我修改了一下

su - elasticsearch  -c "cd /elasticsearch/elasticsearch-2.3.2/bin && ./elasticsearch -d"

发给他后,他在自己的环境执行后,结果确实成功了。

参考资料

  • shell不能执行su 后的脚本
阅读全文 »

本地调试 jekyll 主题时报 Could not open library 'libcurl.dll'

发表于 2018-01-18 | 分类于 Jekyll

Windows 本地调试 jekyll-theme-next 主题时

bundle exec jekyll server

报以下错误

Dependency Error: Yikes! It looks like you don’t have jekyll-remote-theme or one of its dependencies installed. In order to use Jekyll as currently configured, you’ll need to install this gem. The full error message from Ruby is: ‘Could not open library ‘libcurl’: �Ҳ���ָ����ģ�顣 . Could not open library ‘libcurl.dll’: �Ҳ���ָ����ģ�顣 . Could not open library ‘libcurl.so.4’: �Ҳ���ָ����ģ�顣 . Could not open library ‘libcurl.so.4.dll’: �Ҳ���ָ����ģ�顣 ‘ If you run into trouble, you can find helpful resources at https://jekyllrb.com/help/!

经网上查询并亲自试验,发现有两种方法解决这个问题。

阅读全文 »

HttpClient 并发报 Timeout waiting for connection from pool

发表于 2018-01-17 | 分类于 HttpClient

新建了一个 HttpClient 实例,使用 for 循环调用,结果报出以下错误

java org.apache.http.conn.ConnectionPoolTimeoutException: Timeout waiting for connection from pool

解决方法,修改连接池配置,增大连接数

RequestConfig config = RequestConfig.custom()  
    .setSocketTimeout(socketTimeout)  
    .setConnectTimeout(connectTimeout)  
    .setConnectionRequestTimeout(connectionRequestTimeout).build();  
httpClient = HttpClients.custom().setDefaultRequestConfig(config)  
     .setMaxConnTotal(maxConnTotal)  
     .setMaxConnPerRoute(maxConnPerRoute).build(); 

参考资料

  • 使用httpclient必须知道的参数设置及代码写法、存在的风险
  • HttpClient大并发下Timeout waiting for connection from pool优化方案
阅读全文 »

修改本站点主题为 NexT

发表于 2018-01-16 | 分类于 Site

修改本站点主题为 NexT。

阅读全文 »
1 2 … 4
Zhizheng Zhang

Zhizheng Zhang

Whatever u do, Remember why you started.

36 日志
18 分类
61 标签
RSS
GitHub
© 2025 Zhizheng Zhang
由 Jekyll 强力驱动
主题 - NexT.Mist