分类:技术

  • Docker 清理无效容器镜像及日志的方法

    20-04-12 12:38 632 0 技术

    清除无效容器、网络、镜像、缓存

    • docker system prune:删除停止的容器、未使用的网络、悬空的镜像和构建缓存。
    • docker system prune -a:删除停止的容器、未使用的网络、所有未使用的镜像(不仅仅是悬空的镜像)和构建缓存。

    清除日志

    1. 创建 clean_docker_log.sh,内容如下:

      #!/bin/bash
      
      logs=$(find /var/lib/docker/containers/ -name *-json.log)
      
      for log in $logs
          do
                  echo "clean logs : $log"
                  cat /dev/null > $log
          done
      
      echo "Docker logs cleanup completed."
      
    2. 给脚本增加可执行权限

      # chmod +x clean_docker_log.sh
      
    3. 执行脚本

      # ./clean_docker_log.sh
      
  • 使用 Docker 基于 Debian 安装 Java 环境失败的解决方法

    19-11-15 17:09 23883 0 技术
    # 安装 default-jre 需要手动创建 /usr/share/man/man1 目录
    RUN mkdir -p /usr/share/man/man1 \
        && apt-get update \
        && apt-get install -y \
        default-jre \
    

    参考文章:https://stackoverflow.com/questions/55795154/docker-how-to-install-openjdk-jre-12-on-top-of-debian-jessie-slim

  • 升级 Catalina 后出现 Read-only file system 问题解决方案

    19-10-07 18:03 24297 0 技术

    由于项目的根目录在 /data1 目录,需要在根目录创建 data1 目录,但是提示:

    mkdir: data1: Read-only file system
    

    先关闭 sip,终端输入 sudo mount -uw /

    然后再创建目录或者创建软链接,即可成功!

  • Yii China 是官方唯一认可的中文社区

    19-01-30 11:48 28188 2 技术

    今天是 Yii Framework 2.0.16 版本发布 的日子,经过我们坚持不懈的进行国际化翻译,以及在中国进行大量的宣传和推广,Yii China 已经成为全球最大的 Yii 中文社区。

    希望更多的 Yiiers 加入我们社区! https://www.yiichina.com

    官方提供的社区推荐地址: https://github.com/yiisoft/yii2/wiki/communities#chinese

  • GitLab 实现仓库完全迁移,包括所有提交记录、分支、标签

    18-12-28 18:20 24254 0 技术

    具体命令如下:

    cd <项目目录>
    git fetch --all
    git fetch --tags
    git remote set-url origin <项目的新仓库地址>
    git push origin --all 
    git push --tags 
    

    参考文章:

    https://developer.atlassian.com/blog/2016/01/totw-copying-a-full-git-repo/

  • Mac OSX 目录操作遇到 Operation not permitted 问题

    18-12-12 11:41 28602 0 技术

    今天在安装 PHP 扩展的时候发现使用 sudo 还依然提示 “Operation not permitted”。

    这是由于 10.13 版本加强了权限的限制,即 rootless 机制,可以进入恢复模式关闭 rootless 机制。

    官方说明:https://developer.apple.com/videos/play/wwdc2015/706/

    解决方案

    1. 重启 Mac,按 Command + R(Win 键盘:win + R)进入恢复模式

    2. 打开终端,输入命令:

      csrutil disable
      
    3. 重启后让机器正常启动,可以在终端查看 rootless 状态:

      csrutil status
      

      显示

      System Integrity Protection status: disabled.
      

      正常情况下 rootless 已经关闭。

    4. 要想重新开启 rootless 机制,参考步骤 1,输入命令:

      csrutil enable
      
  • 使用 pdflatex 生成 Yii 2 中文权威指南 PDF

    18-12-02 16:46 23599 0 技术

    问题来源

    https://github.com/yiisoft-contrib/yiiframework.com/issues/142 https://en.wikibooks.org/wiki/LaTeX/Internationalization#Chinese

    解决方案

    https://github.com/yiisoft-contrib/yiiframework.com/blob/master/commands/GuideController.php#L85

    修改为:

    // https://en.wikibooks.org/wiki/LaTeX/Internationalization#Chinese
    // TODO this does not work yet. See https://github.com/yiisoft-contrib/yiiframework.com/issues/142
    file_put_contents("$pdfTarget/main.tex", str_replace(['\usepackage[british]{babel}', '\begin{document}', '\end{document}'], ['\usepackage{CJKutf8}', '\begin{document}' . PHP_EOL . '\begin{CJK}{UTF8}{gbsn}', '\end{CJK}' . PHP_EOL . '\end{document}'], file_get_contents("$pdfTarget/main.tex")));
    

    {gbsn} 是“宋体”,所以前提是服务器已经安装中文的“宋体”字体。

  • Yii 2 将 Gravatar 头像图片做本地化缓存

    18-09-15 18:11 23668 0 技术

    Gravatar 是全球公认头像,但头像图片有时候访问奇慢无比,将整个页面的加载速度降了下来,如果能将头像图片缓存到本地,并设置过期时间,那性能会飞速提高,以下代码是 Yii2 的自定义 Helper 中的代码片断,用于实现 Gravatar 本地化访问。

    public function gravatar($email, $s = 80, $atts = [], $d = 'mp', $r = 'g')
    {
        $key = md5(strtolower(trim($email)));
        $img_file = Yii::getAlias("@webroot/uploads/avatar/$key.jpg");
        $img_url = Yii::getAlias("@web/uploads/avatar/$key.jpg");
        $noavatar_file = Yii::getAlias('@webroot/images/noavatar.jpg');
        $noavatar_url = Yii::getAlias('@web/images/noavatar.jpg');
    
        // 缓存时间 30 天,超过 30 天会重新到 gravatar.com 去取
        if (!file_exists($img_file) || filemtime($img_file) < time() - 3600 * 24 * 30) {
            file_put_contents($img_file, file_get_contents("https://www.gravatar.com/avatar/$key?s=$s&d=$d&r=$r"));
        }
    
        // 没有设置过头像的用户,显示自定义头像
        if (md5_file($img_file) == md5_file($noavatar_file)) {
            $img_url = $noavatar_url;
        }
    
        return Html::img($img_url, $atts);
    }
    
  • 使用 YUI Compressor 压缩 CSS 导致 image/svg+xml 无法显示的问题

    18-08-06 22:04 24125 0 技术

    bootstrap 升级到 4.3 以后,.navbar-toggler-icon 的背景是一个 svg 图像,但被压缩后,url 中的空格全部消失了,所以无法显示这个图标。

    .navbar-light .navbar-toggler-icon { background-image: url(data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://ww…p='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E); }
    

    于是想到修改 java 代码,重新编译。

    https://github.com/yui/yuicompressor/blob/master/src/com/yahoo/platform/yui/compressor/CssCompressor.java
    

    修改源码

    找到 CssCompressor.java,修改第 141 行,

    css = this.preserveToken(css, "url", "(?i)url\\(\\s*([\"']?)data\\:", true, preservedTokens);
    

    改为

    css = this.preserveToken(css, "url", "(?i)url\\(\\s*([\"']?)data\\:", false, preservedTokens);
    

    重新编译

    安装 ant

    # yum -y install ant
    # ant // 编译为 jar 文件
    

    生成 .jar 文件位于 build 目录。

    THE END

  • Tengine 2.2.2 配置 http2 协议出现的坑

    18-08-01 12:46 24871 1 技术

    昨天本站将 nginx 配置改为支持 http2 协议,发帖,浏览帖子都很正常,但上传图片出现 504,改回 http 1.1 恢复正常,于是确定是配置 http2 造成的恶果,于是 google 搜索 “tengine http2 504” 等关键字,最终发现了阿里官方 issue:

    https://github.com/alibaba/tengine/issues/1003

    此 issue 作者遇到同样的情况:

    从 nginx 1.10.1 升级为 tengin 2.1.2 后, 用户通过 multipart/form-data 上传文件时 如果文件大于 1M 就会上传失败 抓包分析后,发现在用户在上传大文件时,http body 内容不完整 导致 java MultipartHttpServletRequest request 拿到的 request.getFileNames() size 为 0

    抓取了 tengin 与 tomcat 之间的报文,异常报文中 http body 内容异常

    看这个 issue,确定是 2.2.2 的一个 BUG,接着回退到 2.2.1,问题依旧,回退到 2.2.0,问题得到解决。

    在此提醒大家,如果使用 Tengine 需要配置 http2,建议不要使用 2.2.1 和 2.2.2 版本。

文章归档

文章日历

2024 年 11 月
26 27 28 29 30 01 02
03 04 05 06 07 08 09
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

文章标签

最新评论

友情链接