<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>运维工具 on 远栈</title><link>https://stackonward.com/zh/tags/%E8%BF%90%E7%BB%B4%E5%B7%A5%E5%85%B7/</link><description>Recent content in 运维工具 on 远栈</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Fri, 18 Sep 2026 22:40:18 +0800</lastBuildDate><atom:link href="https://stackonward.com/zh/tags/%E8%BF%90%E7%BB%B4%E5%B7%A5%E5%85%B7/index.xml" rel="self" type="application/rss+xml"/><item><title>n8n自动化工作流搭建指南 | 从Docker部署到RSS钉钉推送实战</title><link>https://stackonward.com/zh/posts/n8n/</link><pubDate>Wed, 05 Feb 2025 10:00:00 +0800</pubDate><guid>https://stackonward.com/zh/posts/n8n/</guid><description>&lt;h2 id="引言"&gt;引言&lt;/h2&gt;
&lt;aside class="admonition info" aria-label="阅读收益"&gt;
 &lt;div class="admonition-title"&gt;&lt;svg viewBox="0 0 24 24" aria-hidden="true"&gt;&lt;circle cx="12" cy="12" r="9"&gt;&lt;/circle&gt;&lt;path d="M12 11v5M12 8h.01"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span&gt;阅读收益&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="admonition-content"&gt;&lt;ol&gt;
&lt;li&gt;掌握n8n私有化部署的完整流程&lt;/li&gt;
&lt;li&gt;学习RSS到钉钉的消息流转实现&lt;/li&gt;
&lt;li&gt;深入理解n8n的Python扩展开发&lt;/li&gt;
&lt;li&gt;获取即用型钉钉推送工作流模板&lt;/li&gt;
&lt;li&gt;掌握自动化工作流的调试技巧&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/aside&gt;

&lt;h2 id="适用人群"&gt;适用人群&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;需要搭建自动化RSS信息聚合的团队&lt;/li&gt;
&lt;li&gt;想要实现钉钉群自动化推送的开发者&lt;/li&gt;
&lt;li&gt;对工作流自动化感兴趣的运维工程师&lt;/li&gt;
&lt;li&gt;寻找开源自动化工具的技术爱好者&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="一私有化部署n8n"&gt;一、私有化部署n8n&lt;/h2&gt;
&lt;h3 id="11-基础环境配置"&gt;1.1 基础环境配置&lt;/h3&gt;
&lt;p&gt;在开始安装n8n之前，我们需要创建必要的目录结构。以下命令会在用户主目录下创建所需的文件夹：&lt;/p&gt;</description></item><item><title>Nginx Proxy Manager部署指南 | 可视化管理Nginx反向代理和SSL证书</title><link>https://stackonward.com/zh/posts/nginx-proxy-management/</link><pubDate>Fri, 11 Oct 2024 00:00:32 +0800</pubDate><guid>https://stackonward.com/zh/posts/nginx-proxy-management/</guid><description>&lt;h1 id="自建nginx-proxy-manager"&gt;自建&lt;a href="https://nginxproxymanager.com/guide/#quick-setup" target="_blank" rel="noopener"&gt;Nginx Proxy Manager&lt;span class="sr-only"&gt;（在新标签页打开）&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;hr&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;前置条件：在服务器安装完成&lt;code&gt;Docker&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="部署npm"&gt;部署NPM&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;创建安装NPM的目录，例如：&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo -i
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir -p /root/data/docker_data/npm
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start="2"&gt;
&lt;li&gt;编辑&lt;code&gt;docker-compose.yml&lt;/code&gt;文件&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /root/data/docker_data/npm
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;vim docker-compose.yml
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 输入安装脚本&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;version: &lt;span class="s1"&gt;&amp;#39;3&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;services:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; app:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; image: &lt;span class="s1"&gt;&amp;#39;jc21/nginx-proxy-manager:latest&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; restart: unless-stopped
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ports:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - &lt;span class="s1"&gt;&amp;#39;80:80&amp;#39;&lt;/span&gt; &lt;span class="c1"&gt;# 保持默认即可，不建议修改左侧的80&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - &lt;span class="s1"&gt;&amp;#39;81:81&amp;#39;&lt;/span&gt; &lt;span class="c1"&gt;# 冒号左边可以改成自己服务器未被占用的端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - &lt;span class="s1"&gt;&amp;#39;443:443&amp;#39;&lt;/span&gt; &lt;span class="c1"&gt;# 保持默认即可，不建议修改左侧的443&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; volumes:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - ./data:/data &lt;span class="c1"&gt;# 冒号左边可以改路径，现在是表示把数据存放在在当前文件夹下的 data 文件夹中&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - ./letsencrypt:/etc/letsencrypt &lt;span class="c1"&gt;# 冒号左边可以改路径，现在是表示把数据存放在在当前文件夹下的 letsencrypt 文件夹中&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start="3"&gt;
&lt;li&gt;安装NPM&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /root/data/docker_data/npm
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker compose up -d
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start="4"&gt;
&lt;li&gt;输入 &lt;a href="http://ip:81/" target="_blank" rel="noopener"&gt;http://ip:81&lt;span class="sr-only"&gt;（在新标签页打开）&lt;/span&gt;&lt;/a&gt; 访问&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;默认登陆名和密码：
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Email: admin@example.com
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Password: changeme
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="更新-nginx-proxy-manager"&gt;更新 Nginx Proxy Manager&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /root/data/docker_data/npm
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker compose down
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cp -r /root/data/docker_data/npm /root/data/docker_data/npm.archive &lt;span class="c1"&gt;#备份一份数据&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker compose pull
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker compose up -d
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker image prune &lt;span class="c1"&gt;# prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="卸载-nginx-proxy-manager"&gt;卸载 Nginx Proxy Manager&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /root/data/docker_data/npm
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker compose down
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rm -rf /root/data/docker_data/npm
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="nginx-proxy-manager添加反向代理"&gt;Nginx Proxy Manager添加反向代理&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://images.stackonward.com/md/2024/202410110015772.png" alt="添加反向代理步骤1"&gt;&lt;/p&gt;</description></item><item><title>Uptime Kuma网站监控搭建指南 | 开源免费的监控告警系统</title><link>https://stackonward.com/zh/posts/uptime-kuma/</link><pubDate>Fri, 11 Oct 2024 00:00:32 +0800</pubDate><guid>https://stackonward.com/zh/posts/uptime-kuma/</guid><description>&lt;h1 id="服务器部署一款开源的监控工具uptime-kuma"&gt;服务器部署一款开源的监控工具：&lt;a href="https://github.com/louislam/uptime-kuma" target="_blank" rel="noopener"&gt;Uptime Kuma&lt;span class="sr-only"&gt;（在新标签页打开）&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;img src="https://images.stackonward.com/md/2024/202410110058830.png" alt="Uptime Kuma界面预览"&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;前置条件：在服务器安装完成&lt;code&gt;Docker&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;创建安装目录&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo -i
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir -p /root/data/docker_data/uptime_kuma
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start="2"&gt;
&lt;li&gt;编辑&lt;code&gt;docker-compose.yml&lt;/code&gt;文件&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /root/data/docker_data/uptime_kuma
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;vim docker-compose.yml
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 输入安装脚本,以下版本为1.23.X版本，如需最新版本，需自行修改&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;version: &lt;span class="s1"&gt;&amp;#39;3.3&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;services:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; uptime-kuma:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; image: louislam/uptime-kuma:1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; container_name: uptime-kuma
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; volumes:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - ./uptime-kuma-data:/app/data
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ports:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - 3001:3001 &lt;span class="c1"&gt;# &amp;lt;Host Port&amp;gt;:&amp;lt;Container Port&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; restart: always
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start="3"&gt;
&lt;li&gt;运行安装命令&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker compose up -d
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 打开防火墙3001端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start="4"&gt;
&lt;li&gt;输入http://服务器地址:3001 访问&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src="https://images.stackonward.com/md/2024/202410110059112.png" alt="Uptime Kuma登录界面"&gt;&lt;/p&gt;</description></item></channel></rss>