gpt4 book ai didi

bash - 手动下载最新稳定版 ngx_pagespeed 模块的问题

转载 作者:行者123 更新时间:2023-12-04 19:13:22 26 4
gpt4 key购买 nike

我正在尝试下载 ngx_pagespeed 模块,以便可以使用它从源代码编译 Nginx。

我正在使用 Ubuntu 16.04。

我正在使用 https://www.modpagespeed.com/doc/build_ngx_pagespeed_from_source 中的说明

所以我需要先安装 Ubuntu 依赖项,没有任何技巧。

sudo apt-get install build-essential zlib1g-dev libpcre3 libpcre3-dev unzip uuid-dev

安装依赖项后,您将转到“构建说明”部分。这是我完全被抛弃的地方。这是我无法破译的代码。
NPS_VERSION=1.12.34.2-stable
cd
wget
https://github.com/pagespeed/ngx_pagespeed/archive/v${NPS_VERSION}.zip
unzip v${NPS_VERSION}.zip
cd ngx_pagespeed-${NPS_VERSION}/
NPS_RELEASE_NUMBER=${NPS_VERSION/beta/}
NPS_RELEASE_NUMBER=${NPS_VERSION/stable/}
psol_url=https://dl.google.com/dl/page-speed/psol/${NPS_RELEASE_NUMBER}.tar.gz
[ -e scripts/format_binary_url.sh ] && psol_url=$(scripts/format_binary_url.sh PSOL_BINARY_URL)
wget ${psol_url}
tar -xzvf $(basename ${psol_url}) # extracts to psol/

第一个问题——这两行对我来说似乎不一致。
NPS_RELEASE_NUMBER=${NPS_VERSION/beta/}
NPS_RELEASE_NUMBER=${NPS_VERSION/stable/}

我不是 bash 专家,但第二行不会否定第一行吗?为什么它们会包含这两行,尤其是当第一行指定“NPS_VERSION=1.12.34.2-stable”时?

第二个问题,如果我在 "NPS_RELEASE_NUMBER=${NPS_VERSION/beta/}"停止运行行然后运行
echo "$NPS_RELEASE_NUMBER"

它返回“1.12.34.2-stable”

好吧,奇怪。它似乎只是在回显变量“NPS_VERSION”,完全忽略了附加到变量“NPS_RELEASE_NUMBER”中“NPS_VERSION”的部分字符串“/beta/”。

所以我设置“NPS_RELEASE_NUMBER=${NPS_VERSION/stable/}”

再次回显变量,但这次它返回“1.12.34.2-”。说真的,这是怎么回事?

编辑:我开始认为文档有严重问题。我以为只有我一个人,但变量“NPS_RELEASE_NUMBER”返回如此奇怪的结果这一事实让我相信这里发生了其他事情。

最佳答案

I'm no bash expert, but wouldn't the second line negate the first?



是的,第一行将是多余的。

Echo the variable again, but this time it returns "1.12.34.2-". Seriously, what is going on here?



这是 bash 替代。 build ${VAR/substring/to replace}只是替换 substringto replace$VAR .因此,您只是剥离了“稳定”字符串,这种行为是正确的。

I'm starting to think that something is seriously wrong with the documentation. I thought it was just me, but the fact that the variable "NPS_RELEASE_NUMBER" is returning such odd results leads me to believe that something else is going on here.



看起来这个脚本被过度设计了。忽略它。只需下载/解压缩 nginx 和您的模块的源代码,然后在 nginx 目录中执行以下操作:
./configure --add-module=/some/path/to/ngx_pagespeed-${NPS_VERSION}  (any extra flags of nginx here)
make
sudo make install

就这些。请注意,最后一条命令将在您的系统中安装新的 nginx,并且此安装在没有包管理器的情况下完成。如果你 真的想要它,删除之前安装的任何 nginx 版本。

关于bash - 手动下载最新稳定版 ngx_pagespeed 模块的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47243973/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com