こんにちは、Tengine!さようなら、Nginx!
写在前面#
戴兜の小屋は今年の 2 月中旬にデータセンターを変更しました。戴兜は、Vultr のロサンゼルスのデータセンターへの国内アクセスが東京のデータセンターよりもはるかに速いことに気づきました🧐。ブログを移行した後、突然思いついたTengine を試してみる時間があるかもしれません。
戴兜のサーバーは Ubuntu 16.04 LTS を使用しており、本文で言及されているコマンドは、各自のサーバーに応じて適切に変更してください!
一、 折りたたむ前の準備#
必要なコンポーネントをインストールする
apt install build-essential
apt install libpcre3-dev libpcre3 libssl-dev libssl1.0.0
https://github.com/jemalloc/jemalloc/releases から jemalloc をダウンロードする
tar jxvf jemalloc-5.1.0.tar.bz2
cd jemalloc-5.1.0
./configure
make
make install
pwd #jemallocのパスを取得する
二、 Tengine のソースコードを取得する#
http://tengine.taobao.org に直接アクセスして、nginx1.8.1 をベースにしたソースコードをダウンロードします。
もし nginx のバージョンに要件がある場合(例えば Brotli を使用する必要がある場合)、https://github.com/alibaba/tengine の master ブランチをクローンしてください。これは nginx1.15.1 をベースにしていますが、まだ更新が行われており、安定していません。
三、 Tengine のソースコードをコンパイルする#
コンパイルは Nginx と同じです。必要なモジュールがある場合は、コンパイル前に設定しておく必要があります。
tar zxvf tengine-2.1.2.tar.gz
cd tengine-2.1.2
./configure --with-jemalloc=[jemallocのパス] --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-http_stub_status_module --with-file-aio
make
make install
今、カプチーノを飲んで静かに待ちましょう。すべての作業が終了したら、元の Nginx の設定を Tengine にコピーするだけで完了です!簡単ですね!
四、 終わりに#
現在のバージョンの Tengine は、HTTP2 のストリーミングアップロードをサポートしていませんが、HTTP1.1 のストリーミングアップロードは正常に動作します。これにより、ブログで大きなファイルをアップロードできない場合があります(master ブランチを使用すると解決できます)。