首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >手动下载ngx_pagespeed模块最新稳定版本的问题

手动下载ngx_pagespeed模块最新稳定版本的问题
EN

Stack Overflow用户
提问于 2017-11-11 23:38:53
回答 1查看 75关注 0票数 0

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

我用的是Ubuntu 16.04

我正在使用来自source的说明

因此,我需要首先安装Ubuntu依赖项,而不是诡计多端。

代码语言:javascript
复制
sudo apt-get install build-essential zlib1g-dev libpcre3 libpcre3-dev unzip uuid-dev

安装依赖项之后,您将转到“构建说明”部分。这就是我被彻底抛弃的地方。这是我无法破解的密码。

代码语言:javascript
复制
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/

第一个问题--这两句话在我看来似乎不一致。

代码语言:javascript
复制
NPS_RELEASE_NUMBER=${NPS_VERSION/beta/}
NPS_RELEASE_NUMBER=${NPS_VERSION/stable/}

我不是巴什专家,但第二行不是否定第一句吗?为什么要包括这两行,特别是当第一行指定“NPS_VERSION=1.12.34.2-稳定”时?

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

代码语言:javascript
复制
echo "$NPS_RELEASE_NUMBER"

它返回“1.12.34.2-稳定”

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

所以我设置了“NPS_RELEASE_NUMBER=${NPS_VERSION/稳定器/}”

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

编辑:我开始认为文档出现了严重的问题。我以为只有我自己,但是变量"NPS_RELEASE_NUMBER“正在返回如此奇怪的结果这一事实使我相信这里发生了其他事情。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-12 05:50:27

我不是巴什专家,但第二行不是否定第一句吗?

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

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

这是巴什的口吃。Construction ${VAR/substring/to replace}只是在$VAR中将substring替换为to replace。所以,您刚刚剥离了“稳定”字符串,这种行为是正确的。

我开始认为文档出现了严重的问题。我以为只有我自己,但是变量"NPS_RELEASE_NUMBER“正在返回如此奇怪的结果这一事实使我相信这里发生了其他事情。

看上去这个剧本设计得太过火了。忽略它。只需下载/解压缩nginx和您的模块的源代码,然后在nginx目录中做:

代码语言:javascript
复制
./configure --add-module=/some/path/to/ngx_pagespeed-${NPS_VERSION}  (any extra flags of nginx here)
make
sudo make install

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47243973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档