新版本Nginx Openresty 替换http2为http2 on
本文最后更新于 217 天前,其中的信息可能已经有所发展或是发生改变。

要在所有的 .conf 文件中将 listen 443 ssl http2; 替换为 listen 443 ssl; http on;,你可以使用 sed 命令。sed 是一个流编辑器,用于对输入流(或文件)进行基本的文本转换。

image.png

下面是一个简单的命令,它会递归地搜索当前目录及其子目录中的所有 .conf 文件,并替换指定的文本:

find . -type f -name "*.conf" -exec sed -i 's/listen 443 ssl http2;/listen 443 ssl;\n\thttp2 on;/g' {} +

这个命令的解释如下:

  1. find . -type f -name "*.conf":查找当前目录及其子目录中所有的 .conf 文件。
  2. -exec ... {} +:对找到的每个文件执行指定的命令。{} 是一个占位符,代表当前正在处理的文件名。
  3. sed -i 's/原字符串/新字符串/g':使用 sed 进行文本替换。-i 选项表示直接修改文件内容,而不是输出到标准输出。s/原字符串/新字符串/g 是替换命令,其中 g 表示全局替换(即替换每一行中的所有匹配项)。

注意:这个命令假设你的 sed 版本支持 -i 选项的扩展用法(即使用 {} + 来一次性处理多个文件)。在某些系统上,你可能需要为 -i 选项提供一个备份文件扩展名,例如 -i.bak,这样 sed 会在修改文件之前创建一个备份。

另外,这个命令将 http2 on; 添加到新的一行,并添加了一个制表符(\t)进行缩进。如果你需要不同的缩进或格式,可以相应地调整 sed 命令中的字符串。

在执行这个命令之前,建议先备份你的 .conf 文件,以防万一出现不可预见的问题。

上一篇
下一篇