2017-11-11 8 views
0

ngx_pagespeedモジュールをダウンロードしようとしているので、Nginxをソースからコンパイルできます。最新の安定バージョンのngx_pagespeedモジュールを手動でダウンロードする場合

私はUbuntu 16.04を使用しています。

私は、だから私は、最初にそこにはtrickinessをUbuntuの依存関係をインストールしないする必要がありhttps://www.modpagespeed.com/doc/build_ngx_pagespeed_from_source

からの命令を使用しています。

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/ 

最初の質問 - これらの2つの行は私には不安があります。

NPS_RELEASE_NUMBER=${NPS_VERSION/beta/} 
NPS_RELEASE_NUMBER=${NPS_VERSION/stable/} 

私はバッシュエキスパートではありませんが、2番目の行は最初の行を否定しませんか?最初の行で "NPS_VERSION = 1.12.34.2-stable"が指定されている場合、これらの行に両方の行が含まれるのはなぜですか?

2番目の質問、私は "NPS_RELEASE_NUMBER = $ {NPS_VERSION /ベータ/}" のラインの実行を停止し、その後

echo "$NPS_RELEASE_NUMBER" 

を実行する場合、それは奇妙な、 "1.12.34.2安定"

OKを返します。 。それは変数 "NPS_VERSION"をエコーし​​ているようですが、変数 "NPS_RELEASE_NUMBER"の "NPS_VERSION"に付加されている部分文字列 "/ beta /"を完全に無視しています。

は、だから私は "NPS_RELEASE_NUMBER = $ {NPS_VERSION /安定/}"

エコー再び変数が、それが返されます。この時、 "1.12.34.2-" に設定します。真剣に、ここで何が起こっているのですか?

編集:私は、ドキュメントに深刻な問題があると考え始めています。私はそれが私のことだと思っていましたが、変数 "NPS_RELEASE_NUMBER"がこのような奇妙な結果を返すという事実は、私がここで何か他のことが起こっていると信じさせています。

答えて

1

私はバッシュエキスパートではありませんが、2番目の行は最初の行を否定しませんか?

はい、最初の行は冗長になります。

変数を再度エコーしますが、今回は "1.12.34.2-"を返します。 真剣に、ここで何が起こっていますか?

これはbashのサブステップです。構成${VAR/substring/to replace}は、からto replaceの代わりに、$VARで置き換えられます。だから、あなたはちょうど "安定した"文字列を取り除いた、この動作は正しい。

私は、 のマニュアルに深刻な問題があると考え始めています。私はそれが私のことだと思ったが、 変数 "NPS_RELEASE_NUMBER"がこのような奇妙な結果を返すという事実は、私に が何か他のことが起こっていると信じさせる。

このスクリプトのように見えます。それを無視します。ただ、nginxのとあなたのモジュールの/アンパックソースをダウンロードしてから、nginxののディレクトリで実行します。すべてのこと

./configure --add-module=/some/path/to/ngx_pagespeed-${NPS_VERSION} (any extra flags of nginx here) 
make 
sudo make install 

を。最後のコマンドはあなたのシステムに新しいnginxをインストールし、このインストールはパッケージマネージャなしで行われることに注意してください。 本当にが必要な場合は、以前にインストールされたバージョンのnginxを削除してください。

+0

何が起こっていたのかを説明する時間をとってくれてありがとう。変数の終わりから "安定"または "ベータ"を取り除くために文字列置換を使用しているのを見ていないと、私は今や馬鹿げていると感じています。 –

関連する問題