uWSGIのインストール

配布パッケージからのインストール

uWSGI は、いくつかの OS/ディストリビューションでパッケージとして利用できます。

ソースからのインストール

uWSGI をビルドするには、Python と C コンパイラが必要です (gccclangがサポートされています)。サポートしたい言語によっては、開発ヘッダーが必要になります。Debian/Ubuntu システムでは、それら (およびソフトウェアのビルドに必要な残りのインフラストラクチャ) を次のようにインストールできます。

apt-get install build-essential python

また、python/wsgi をサポートするバイナリをビルドする場合 (例として)

apt-get install python-dev

Fedora/Redhat システムでは、次の方法でインストールできます。

yum groupinstall "Development Tools"
yum install python

Python/wsgi サポートの場合:

yum install python-devel

システムで利用可能なmakeのバリアントがある場合は、単にmake を実行できます makeがない場合(またはより詳細に制御したい場合) は、次のコマンドを実行するだけです。

python uwsgiconfig.py --build

pip を使用して uWSGI をインストールすることもできます (Python をサポートするバイナリをビルドします)。

# Install the latest stable release:
pip install uwsgi
# ... or if you want to install the latest LTS (long term support) release,
pip install https://projects.unbit.it/downloads/uwsgi-lts.tar.gz

または、ruby gem を使用することもできます (ruby/rack をサポートするバイナリをビルドします)。

# Install the latest stable release:
gem install uwsgi

ビルドの最後に、有効な機能のレポートが表示されます。必要なものが不足している場合は、開発ヘッダーを追加してビルドを再実行してください。たとえば、ssl および perl 正規表現をサポートする uWSGI をビルドするには、libssl-dev および pcre ヘッダーが必要です。

代替ビルド プロファイル

「make」を実行するときの歴史的な理由から、uWSGI はサポートされている唯一の言語として Python で構築されています。buildconf/ディレクトリにあるビルド プロファイルを使用して、カスタマイズされた uWSGI サーバーを構築できます。特定のプロファイルを次のように使用できます。

python uwsgiconfig.py --build <profile>

または、環境変数を介して渡すこともできます。

UWSGI_PROFILE=lua make
# ... or even ...
UWSGI_PROFILE=gevent pip install uwsgi

モジュラー ビルド

これは、ディストリビューションが従うべきアプローチであり、uWSGI を介して商用サービスを構築したい場合は、従わなければならないアプローチです (以下を参照)。uWSGI 機能の大部分はプラグインとして利用できます。プラグインは、–plugin オプションを使用してロードできます。ユーザーに最大限の柔軟性を与えて、最小限のリソースのみを使用できるようにする場合は、モジュラー ビルドを作成するだけです。「core」という名前のビルド プロファイルが利用可能です。

python uwsgiconfig.py --build core

これにより、プラグインなしで uWSGi バイナリがビルドされます。これを「サーバーコア」と呼びます。これで、必要なすべてのプラグインの構築を開始できます。完全なリストについては、ソース配布の plugins/ ディレクトリを確認してください。

python uwsgiconfig.py --plugin plugins/psgi core
python uwsgiconfig.py --plugin plugins/rack core
python uwsgiconfig.py --plugin plugins/python core
python uwsgiconfig.py --plugin plugins/lua core
python uwsgiconfig.py --plugin plugins/corerouter core
python uwsgiconfig.py --plugin plugins/http core
...

常にビルド プロファイル (この場合は「core」) を 3 番目の引数として渡すことを忘れないでください。