linux 下用 acme.sh 搞定 Nginx 免费 SSL 证书自动续期(下) 对于acme.sh命令安装详解

张开发
2026/4/21 23:22:40 15 分钟阅读

分享文章

linux 下用 acme.sh 搞定 Nginx 免费 SSL 证书自动续期(下) 对于acme.sh命令安装详解
curl https://get.acme.sh | sh -s emailmyexample.com这条命令是acme.sh官方推荐的一键安装脚本。它的设计哲学是“极简”通过管道将下载和执行合二为一。我们可以把它拆解为三个部分来详细解读1.curl https://get.acme.sh—— 下载脚本curl这是一个在 Linux 终端中常用的工具用于向服务器传输数据。在这里它的作用是访问https://get.acme.sh这个网址。https://get.acme.sh这是acme.sh官方提供的安装脚本入口地址。当你访问它时服务器不会返回网页而是直接返回一段Shell 脚本代码。2.|—— 管道符这是 Linux 中最强大的符号之一。它的作用是把前一个命令的输出直接变成后一个命令的输入。在这里它把curl下载回来的那段脚本代码直接“喂”给了后面的sh命令去执行而不需要你先把脚本下载到本地比如curl -o install.sh再手动运行。3.sh -s emailmyexample.com—— 执行脚本并传参sh这是 Shell 解释器用来运行脚本。-s这个参数告诉sh“我要运行的是从管道传过来的标准输入stdin而不是硬盘上的某个文件”。emailmyexample.com这是传给安装脚本的参数。安装脚本接收到这个参数后会把它作为你的账户邮箱注册到 ACME 服务商如 Lets Encrypt 或 ZeroSSL。这个邮箱非常重要用于接收证书到期提醒、密钥丢失找回等紧急通知。 这条命令在后台默默做了什么当你回车执行这条命令后脚本会在几秒钟内自动完成以下三件大事克隆代码它会把acme.sh的源码下载到你的家目录下的隐藏文件夹~/.acme.sh/中。创建别名它会自动修改你的 Shell 配置文件如~/.bashrc添加一行alias acme.sh~/.acme.sh/acme.sh。这意味着你以后在任何目录下直接输入acme.sh就能运行它无需输入长长的路径。安装定时任务它会自动向系统的crontab中添加一条定时任务用于每天检查证书是否需要续期。 常见问题与替代方案Q: 如果我的服务器没有curl怎么办A: 你可以使用wget替代效果是一样的wget -O - https://get.acme.sh | sh -s emailmyexample.comQ: 这种“下载即执行”的方式安全吗A: 对于acme.sh这种开源且广泛使用的项目通常是安全的。但如果你比较谨慎或者处于内网环境可以使用离线安装法先下载源码bashgit clone https://github.com/acmesh-official/acme.sh.git进入目录并安装bashcd acme.sh ./acme.sh --install -m myexample.com这条命令就是利用 Linux 的管道特性实现“下载 安装 配置”一步到位是目前最快捷的部署方式。-m 和 email 有区别吗在acme.sh的语境下-m和email实际上指的是同一个东西没有本质区别。简单来说-m是--email的缩写。刚才使用的安装命令中写法稍微有点特殊现在来拆解一下这背后的逻辑1. 标准参数中的-m在acme.sh的绝大多数命令如申请证书、续期中官方文档定义的标准参数是-m这是简写。--email这是全称。用法示例acme.sh --issue -m myexample.com -d example.com在这种情况下-m和--email完全通用。2. 安装脚本中的email...在你使用的安装命令curl ... | sh -s emailmyexample.com中这里的emailmyexample.com并不是acme.sh程序本身的参数格式而是安装脚本installer接收参数的格式。官方安装脚本被设计为接受keyvalue的形式。当你写emailmyexample.com时安装脚本会识别出email这个键并将其值保存下来。安装脚本在后台执行--install操作时会自动把这个邮箱赋值给-m或--email参数。3. 总结与对比场景写法含义是否推荐安装时sh -s emailxxx告诉安装脚本“把这个邮箱记下来安装时帮我填好”。✅ 推荐 (官方安装写法)日常使用-m xxx告诉 acme.sh“使用这个邮箱”。✅ 推荐 (简写方便)日常使用--email xxx告诉 acme.sh“使用这个邮箱”。✅ 推荐 (全称清晰)日常使用emailxxx错误。直接运行acme.sh命令时不支持这种赋值写法。❌ 错误 结论你不需要纠结它们就是一回事。在安装时请遵循安装脚本的格式... | sh -s email你的邮箱。在以后使用如申请、续期时你可以习惯用-m因为它打字最少acme.sh --issue -m 你的邮箱 ...。

更多文章