<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>devops on 禹过留声</title><link>//blog.haojunyu.com/categories/devops/</link><description>Recent content in devops on 禹过留声</description><generator>Hugo -- gohugo.io</generator><managingEditor>haojunyu2012@gmail.com (hjy)</managingEditor><webMaster>haojunyu2012@gmail.com (hjy)</webMaster><lastBuildDate>Sun, 09 Feb 2025 17:47:45 +0800</lastBuildDate><atom:link href="//blog.haojunyu.com/categories/devops/index.xml" rel="self" type="application/rss+xml"/><item><title>程序员跨平台工具软件</title><link>//blog.haojunyu.com/post/coder_common_app/</link><pubDate>Sun, 09 Feb 2025 17:47:45 +0800</pubDate><author>haojunyu2012@gmail.com (hjy)</author><guid>//blog.haojunyu.com/post/coder_common_app/</guid><description>&lt;p>在
&lt;a href="//blog.haojunyu.com/post/software_osx/" >macbook操作系统OSX初探&lt;/a> 和
&lt;a href="//blog.haojunyu.com/post/software_mac/" >macbook常用软件及其管理&lt;/a> 中介绍了不少常用的软件，
但是随着 Linux 和 Windows 也在日常工作用到，甚至最近开始以 MatePad Pro 作为便携轻终端，辅以云端服务器，家庭 NAS，组装台式机以及树莓派等后端节点共同组成工作和娱乐的空间。&lt;/p></description></item><item><title>基于nginx的webdav服务</title><link>//blog.haojunyu.com/selfhosted/webdav/</link><pubDate>Sun, 24 Sep 2023 22:41:12 +0800</pubDate><author>haojunyu2012@gmail.com (hjy)</author><guid>//blog.haojunyu.com/selfhosted/webdav/</guid><description>&lt;p>最近将终端从 item2 迁移到 tabby 了，原因就在于后者是跨平台的。但是碰到了跨平台软件的通病就是配置的同步问题。为了永久解决类似的问题，所以研究了一下 WebDAV，并且搭建了服务来给跨平台软件同步基本配置。&lt;/p></description></item><item><title>家庭电脑的网络唤醒</title><link>//blog.haojunyu.com/selfhosted/wake_on_lan/</link><pubDate>Tue, 18 Oct 2022 23:43:17 +0800</pubDate><author>haojunyu2012@gmail.com (hjy)</author><guid>//blog.haojunyu.com/selfhosted/wake_on_lan/</guid><description>&lt;p>家里有个配置可观的台式机，但苦于噪声和耗电，基本处于关机状态。这个对于偶尔需要远程登陆该机器的需求就不太可能满足，更不谈远程控制了。
为此探究了一下电脑的远程唤醒功能，并且给家里的台式机配置了该功能，从此无论何时何地，只要有个轻终端和网络就能如同在家一样折腾这个工作站了。&lt;/p></description></item><item><title>家庭网络的升级之路</title><link>//blog.haojunyu.com/selfhosted/home_network/</link><pubDate>Thu, 23 Jun 2022 21:38:01 +0800</pubDate><author>haojunyu2012@gmail.com (hjy)</author><guid>//blog.haojunyu.com/selfhosted/home_network/</guid><description>&lt;p>你家的网络会卡顿么？你家的带宽是千兆的么？你家网络的真实下载速度和带宽是否一致？如果你想知道各种缘由，可以看一下本篇文章，会给你补充一点网络知识的同时，也会让家庭网络有一次蜕变的机会。&lt;/p></description></item><item><title>群辉NAS构建家庭相册</title><link>//blog.haojunyu.com/selfhosted/synology_photo/</link><pubDate>Mon, 10 Jan 2022 23:45:23 +0800</pubDate><author>haojunyu2012@gmail.com (hjy)</author><guid>//blog.haojunyu.com/selfhosted/synology_photo/</guid><description/></item><item><title>项目实战之微服务中的CICD</title><link>//blog.haojunyu.com/post/microservice_cicd/</link><pubDate>Wed, 30 Jun 2021 12:16:00 +0800</pubDate><author>haojunyu2012@gmail.com (hjy)</author><guid>//blog.haojunyu.com/post/microservice_cicd/</guid><description>&lt;p>在
&lt;a href="//blog.haojunyu.com/post/project_cicd/" >项目开发中的CICD&lt;/a>中介绍了企业用户使用 GitLab 做持续集成和交付&lt;code>CICD&lt;/code>，并提供了一段实际工作中的配置来进行示范。但是那段示例对于比较简单的项目还是挺适用的。这里的简单项目是指服务比较少，架构比较简单，比如只包含前端，后端，数据库三个模块的项目。但是对于复杂的项目还使用这样的 CICD 流程会带来很多问题。所以本文基于 Docker Swarm 部署的微服务项目来对该持续集成交付的机制流程进行优化。&lt;/p></description></item><item><title>项目开发中的CICD</title><link>//blog.haojunyu.com/post/project_cicd/</link><pubDate>Wed, 28 Apr 2021 16:18:16 +0800</pubDate><author>haojunyu2012@gmail.com (hjy)</author><guid>//blog.haojunyu.com/post/project_cicd/</guid><description>&lt;p>现如今持续集成（CI）和持续交付/部署（CD）大家已经不陌生了，它们是为了帮助项目能够更快的进行版本迭代。在这篇文章中，我将介绍如何使用使用 GitLab CI/CD 工具进行项目的自动化打包和部署。&lt;/p></description></item><item><title>系统日志收集之初探rsyslog</title><link>//blog.haojunyu.com/post/introduce_rsyslog/</link><pubDate>Tue, 23 Mar 2021 23:38:26 +0800</pubDate><author>haojunyu2012@gmail.com (hjy)</author><guid>//blog.haojunyu.com/post/introduce_rsyslog/</guid><description>&lt;p>系统内核和许多程序会产生各种错误信息、警告信息和其他的提示信息，这些信息对用户了解系统的运行状态是非常有用的，所以需要把它们保存到对应的日志文件中，以便后续进行分析和监控系统或软件的状态。
Linux 系统拥有非常灵活和强大的日志功能，几乎可以保存所有的操作记录，并可以从中检索出我们需要的信息。完成这个工作的守护进程就是 rsyslog。&lt;/p></description></item><item><title>Flask扩展之http客户端开发</title><link>//blog.haojunyu.com/post/flask_httpclient/</link><pubDate>Sun, 14 Mar 2021 10:12:06 +0800</pubDate><author>haojunyu2012@gmail.com (hjy)</author><guid>//blog.haojunyu.com/post/flask_httpclient/</guid><description>&lt;p>Flask 被称为“微框架”。其中的“微”字不代表整个应用只能塞在一个 Python 文件内，也不代表 Flask 功能不强。它表示 Flask 的目标是保持核心简单而又可扩展。 它不会替使用者做决定，比如选用何种数据库，使用何种模板引擎等。Flask 通过扩展功能来增加它的功能。扩展之于 Flask，就像第三方库之于 Python，插件之于 Vscode。本文将介绍如何开发一个简单的 Flask 插件：HTTPClient，并将其发布到 Python 官方索引 Pypi（&lt;strong>Py&lt;/strong>thon &lt;strong>P&lt;/strong>ackage &lt;strong>I&lt;/strong>ndex） 上。&lt;/p></description></item><item><title>深入了解SSH</title><link>//blog.haojunyu.com/post/deep_ssh/</link><pubDate>Wed, 05 Aug 2020 15:13:01 +0800</pubDate><author>haojunyu2012@gmail.com (hjy)</author><guid>//blog.haojunyu.com/post/deep_ssh/</guid><description>&lt;p>SSH 是每一台电脑的标准配置，Linux 就不必说了，连
&lt;a href="https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_overview" target="_blank">windows&lt;/a> 也从 2018 年开始自带 OpenSSH 了。
它主要的用途是登陆到远程电脑中执行命令，在云开发的时代，它是每个程序每天都要用到的工具。本文将简单介绍一下它的原理，
基本用法以及端口转发和动态转发等高阶用法。&lt;/p></description></item><item><title>Markdown转conflunece</title><link>//blog.haojunyu.com/post/md2confluence/</link><pubDate>Sun, 19 Jul 2020 08:49:17 +0800</pubDate><author>haojunyu2012@gmail.com (hjy)</author><guid>//blog.haojunyu.com/post/md2confluence/</guid><description>&lt;p>很多公司使用 &lt;strong>Confluence&lt;/strong> 来构建企业的知识管理系统， 但是不得不说，文档的构建对程序员很不友好。对于用惯了 &lt;strong>Markdown&lt;/strong> 这种轻量级标记语言的程序员来说，写文章半小时，排版半小时。于是乎就有了这篇将 Markdown 转换为 Confluence 格式文档的技巧文档。&lt;/p></description></item><item><title>云上开发之数据备份</title><link>//blog.haojunyu.com/selfhosted/devol_data_backup/</link><pubDate>Tue, 14 Jul 2020 00:50:54 +0800</pubDate><author>haojunyu2012@gmail.com (hjy)</author><guid>//blog.haojunyu.com/selfhosted/devol_data_backup/</guid><description>&lt;p>Github 挂了，是的，你没有听错，背靠微软，坐拥 azure 的 Github 挂了。最近还看到近几年大火的 Docker 也开始限制 Docker 商业版及 Docker 的其它服务（像Docker Hub）对特定国家和公司的使用。这些都体现了数据备份的重要性，虽然上面的事件对我们小小个人影响不是很大，但覆巢之下，安有完卵。早点掌握数据备份的方法才能从容应对未来突发的“意外”。本文将介绍在 ECS 上搭建类 Github 服务 Gogs, 并且定期备份 ECS 上数据到 OSS上，有条件的可以再将 OSS上的数据备份到自己的群辉 NAS 上。&lt;/p></description></item><item><title>常用工具集</title><link>//blog.haojunyu.com/page/tools/</link><pubDate>Sat, 11 Jul 2020 15:51:22 +0800</pubDate><author>haojunyu2012@gmail.com (hjy)</author><guid>//blog.haojunyu.com/page/tools/</guid><description>&lt;p>工具集是对日常使用的工具收集，目前主要是对通用的工具网站进行整理，方便查询。&lt;/p></description></item><item><title>Docker镜像瘦身</title><link>//blog.haojunyu.com/post/docker_image_slim/</link><pubDate>Mon, 06 Jul 2020 23:51:22 +0800</pubDate><author>haojunyu2012@gmail.com (hjy)</author><guid>//blog.haojunyu.com/post/docker_image_slim/</guid><description>&lt;p>Docker 是一个用于开发，交付和运行应用程序的开发平台。 它能够将应用程序和基础架构分开，保证开发，测试，
部署的环境完全一致，从而达到快速交付的目的。 但是在实际项目中，会对项目中的模块或者服务进行细分，
导致部署的镜像过多（50+ 个），过大（打包压缩后的镜像达 50G+），这给部署带来了不小的隐患，特别是私有化部署（通过移动介质拷贝镜像进行部署）。本文从多篇镜像瘦身的文章入手，并进行实践验证，结合
&lt;a href="https://docs.docker.com/develop/develop-images/dockerfile_best-practices/" target="_blank">官方的Dockerfile最佳实践&lt;/a> 总结了镜像压缩的4种方法和日常实践的多个技巧。&lt;/p></description></item><item><title>Nginx部署多应用</title><link>//blog.haojunyu.com/post/devops_nginx/</link><pubDate>Fri, 03 Feb 2017 17:54:04 +0800</pubDate><author>haojunyu2012@gmail.com (hjy)</author><guid>//blog.haojunyu.com/post/devops_nginx/</guid><description>&lt;p>当拥有一个服务器后，发现有众多的应用想要部署在这个服务器上，而且想要为每个应用创建一个独有的二级域名，比如个人博客- blog.haojunyu.com,比如个人项目页面- pro.haojunyu.com等等，反正就是想要将自己所折腾的一切都放到这个服务器上，一方面算是给自己这么长时间在应用开发上的成果做个展示，另一方面是提醒自己不要再重复的造轮子，毕竟青春有限，还有很多其他的事情值得去尝试。这个以 Nginx 部署两个 Python 的 Web 框架 Django 和 Flask 为例。&lt;/p></description></item><item><title>Python项目的虚拟环境</title><link>//blog.haojunyu.com/post/software_virtualenv/</link><pubDate>Mon, 30 Jan 2017 17:54:04 +0800</pubDate><author>haojunyu2012@gmail.com (hjy)</author><guid>//blog.haojunyu.com/post/software_virtualenv/</guid><description>&lt;p>在开发 Python 项目时，首先要确定使用的 Python 版本，目前默认是 3.7（Python 2.7 已经在 2020 年停止支持了，但是需要维护的项目中肯定有不少基于 Python 2.x 版本的），其次会根据项目的需求来选择特定版本的第三方库（一般都会选择最新版本的，除非不同库之间有冲突）。但是使用 &lt;code>pip&lt;/code> 安装第三方库时默认都会安装到 Python3 的 site-packages 目录中，一旦不同项目中的第三方库版本出现冲突时，就比较难处理了。所以我们需要对不同的项目开辟独立干净的空间进行开发部署，此时就需要 Python 的虚拟环境了。本文将介绍 virtualenv 和 pipenv 两种途径构建虚拟环境，但是
&lt;a href="https://pythonguidecn.readthedocs.io/zh/latest/index.html" target="_blank">pipenv 的方式更值得推广&lt;/a>。&lt;/p></description></item><item><title>从零开始搭建HTTPS服务</title><link>//blog.haojunyu.com/selfhosted/devops_https/</link><pubDate>Tue, 24 Jan 2017 17:54:04 +0800</pubDate><author>haojunyu2012@gmail.com (hjy)</author><guid>//blog.haojunyu.com/selfhosted/devops_https/</guid><description>&lt;p>搭建 HTTPS 服务的最初目的是为了开发微信小程序，因为 wx.request 只允许发起 HTTPS 请求，并且还必须和指定的域名进行网络通信。要从零开始搭建一个 HTTPS 的服务需要下面 4 个要素：域名，备案，云服务器，服务搭建。本文将分别介绍这四要素的具体要求。&lt;/p></description></item><item><title>macbook常用软件及其管理</title><link>//blog.haojunyu.com/post/software_mac/</link><pubDate>Thu, 10 Dec 2015 17:54:04 +0800</pubDate><author>haojunyu2012@gmail.com (hjy)</author><guid>//blog.haojunyu.com/post/software_mac/</guid><description>&lt;p>众所周知，基本上每个 Unix 系统的发行版本都有一个非常强大的软件包管理系统，它能够非常便利的管理系统中的软件，而且绝对纯净，绝壁不加任何插件，像 Ubuntu 里的 apt，CentOS里的 yum 等。而 Mac OS X 是基于 Unix 的操作系统，可以安装大部分为 Unix/Linux 开发的软件。它也有非常好用的软件包管理系统 Homebrew 和 Macports 。&lt;/p></description></item><item><title>macbook操作系统OSX初探</title><link>//blog.haojunyu.com/post/software_osx/</link><pubDate>Wed, 09 Dec 2015 17:54:04 +0800</pubDate><author>haojunyu2012@gmail.com (hjy)</author><guid>//blog.haojunyu.com/post/software_osx/</guid><description>&lt;p>经过一番货比三家后，终于通过苹果内部员工的 85 折拿下了这款 Macbook Pro MF840。今天怀着激动兴奋的心情，拆了配送包裹，好好把玩了一天。本篇博文对 OS X 系统内置的 APP 进行一些摸索，最后在系统中安装了 VMWare Fusion 虚拟机来搭建自己的 Ubuntu 工作环境。而下篇博文
&lt;a href="//blog.haojunyu.com/post/software_mac/" >macbook常用软件及其管理&lt;/a> 将详细介绍苹果系统的
&lt;a href="http://brew.sh" target="_blank">软件包管理&lt;/a>以及常用的软件。&lt;/p></description></item><item><title>货比三家之MacPro_MF840</title><link>//blog.haojunyu.com/post/hardware_macpro/</link><pubDate>Wed, 02 Dec 2015 17:54:04 +0800</pubDate><author>haojunyu2012@gmail.com (hjy)</author><guid>//blog.haojunyu.com/post/hardware_macpro/</guid><description>&lt;p>在临近研究生毕业，即将走向社会之际，打算将吃饭的家伙&amp;ndash;笔记本更新一下。上一任笔记本是联想的 G450 ,还是我刚上大学时买的呢，已经陪伴了我六年之久，途中只升级了一下内存（1+1G变成1+4G）。用它编过程，学过 Photoshop ，玩过真三国无双。。。现在依然可以完美运作。不过这个笔记本有个致命的缺陷，就是太大，太笨重，而且电池只能待机10min，所以非常不适合随身携带。而Mac Pro能玩虐这两点。至于说系统的差异的话，因为现在习惯的工作环境是 Ubuntu，所以对于基于 linux 内核的 OS X 应该没有啥压力。而且应该会搞个 OS X+Ubuntu+Windows 的三系统，毕竟 Windows 里的游戏还是戒不了哇！&lt;/p></description></item><item><title>Vim配置之进阶篇</title><link>//blog.haojunyu.com/post/software_vim_advanced/</link><pubDate>Fri, 25 Sep 2015 17:54:04 +0800</pubDate><author>haojunyu2012@gmail.com (hjy)</author><guid>//blog.haojunyu.com/post/software_vim_advanced/</guid><description>&lt;p>在上一篇博文
&lt;a href="//blog.haojunyu.com/post/software_vim_base/" >Vim配置之入门篇&lt;/a>中，只是大略介绍了 Vim 的基本配置以及几个常用的使用插件，但是在后面的使用中发现该配置的Vim并不是很好用，特别是 minibuffer，taglist，fileexplore 直接存在冲突，而且它的插件管理也比较麻烦。本篇博文主要就是解决这两个问题以及尝试一些更适合码农的插件。&lt;/p></description></item><item><title>Vim配置之入门篇</title><link>//blog.haojunyu.com/post/software_vim_base/</link><pubDate>Mon, 31 Aug 2015 17:54:04 +0800</pubDate><author>haojunyu2012@gmail.com (hjy)</author><guid>//blog.haojunyu.com/post/software_vim_base/</guid><description>&lt;p>正所谓“工欲善其事，必先利其器”，而作为一个专业的码农，怎么能不好好对待自己编程的利器&amp;ndash; VIM 编辑器呢！可能读者会说编程的利器不应该是各种语言的集成工具么？像编写 C/C++ 程序的 VS，Codeblock（跨平台）软件，像编写 Java 程序的 Eclipse（现在已经有支持 C/C++/Python 的插件），像编写 Python 程序的 PyCharm 等。这些人性化的开发集成环境功能强大，使用方便。不过成也在此，败也在此。本文将详细介绍Vim编辑器以及其基本入门级配置。&lt;/p></description></item><item><title>逃离VMWare拥抱docker</title><link>//blog.haojunyu.com/post/software_docker/</link><pubDate>Tue, 11 Aug 2015 17:54:04 +0800</pubDate><author>haojunyu2012@gmail.com (hjy)</author><guid>//blog.haojunyu.com/post/software_docker/</guid><description>&lt;p>Docker是一个开源项目，它是基于linux容器（LXC）等技术，旨在实现轻量级的操作系统虚拟化的一个解决方案。用户操作Docker的容器就像操作虚拟机一样，但是它比虚拟机更轻量更快速。&lt;/p></description></item><item><title>集成开发工具Eclipse的配置</title><link>//blog.haojunyu.com/post/software_eclipse/</link><pubDate>Tue, 11 Aug 2015 17:54:04 +0800</pubDate><author>haojunyu2012@gmail.com (hjy)</author><guid>//blog.haojunyu.com/post/software_eclipse/</guid><description>&lt;p>Eclipse是个强大的集成工具，写JAVA程序的人基本都会首选该工具，然而它的强大并不仅仅体现在对JAVA的支持上，实际上用Eclipse可以写C/C++程序以及Python代码等。当然这一切都需要安装一些插件并进行一些配置。这里就对其配置进行一些记录。&lt;/p></description></item><item><title>快速部署日志分析系统ELK</title><link>//blog.haojunyu.com/post/software_elk/</link><pubDate>Tue, 04 Aug 2015 17:54:04 +0800</pubDate><author>haojunyu2012@gmail.com (hjy)</author><guid>//blog.haojunyu.com/post/software_elk/</guid><description>&lt;p>日志分析系统ELK是三个开源软件的缩写，分别是Elasticsearch，Logstash，Kibana。其中Elasticsearch是用来实现索引和搜索功能的目的，Logstash是一个很灵活的日志收集和处理工具。Kibana是和Elasticsearch配套的图形展示界面，用于方便的展示数据和分析数据。本文对整个套件的安装配置过程作了记录，并写了一键安装配置的脚本。&lt;/p></description></item><item><title>ubuntu下lamp的构建</title><link>//blog.haojunyu.com/post/software_lamp/</link><pubDate>Sun, 31 May 2015 17:54:04 +0800</pubDate><author>haojunyu2012@gmail.com (hjy)</author><guid>//blog.haojunyu.com/post/software_lamp/</guid><description>&lt;p>LAMP（Linux-Apache-MySQL-PHP）网站架构是目前国际流行的Web框架，该框架包括：Linux操作系统，Apache网络服务器，MySQL数据库，Perl、PHP或者Python编程语言，所有组成产品均是开源软件，是国际上成熟的架构框架，很多流行的商业应用都是采取这个架构，和Java/J2EE架构相比，LAMP具有Web资源丰富、轻量、快速开发等特点，微软的.NET架构相比，LAMP具有通用、跨平台、高性能、低价格的优势，因此LAMP无论是性能、质量还是价格都是企业搭建网站的首选平台。(附带安装mysql的管理软件phpmyadmin)&lt;/p></description></item></channel></rss>