開発者ドキュメント

PythonWebアプリケーション用にUbuntuクラウドサーバーを設定する方法

序章


クラウドコンピューティングは、情報技術(IT)業界全体を形作っており、Ubuntuはまさにその上にあります– 文字通り!非常に多くのさまざまなツール、ライブラリ、およびアプリケーションのサポートが提供され、使いやすさと難しいタスクをシンプルにする方法と相まって、この信頼できるLinuxディストリビューションは、パブリッククラウドスペースを引き継ぐ多くの人にとって頼りになる選択肢となっています。

このDigitalOceanの記事では、PythonWebアプリケーションをホストするためにUbuntuクラウドサーバーを最初から準備する方法を学習します。 このチュートリアルに従うことで、Pythonプロジェクトをデプロイするために必要なほぼすべてのツールを備えたUbuntuが確実にインストールされます。

Ubuntu 13.10(リリース日:2013年10月)


まず、システムの更新、[Pythonの場合]必要なツールとライブラリのダウンロードとインストールを行い、次にWebアプリケーションに最適なデプロイメント環境を作成します。

システムの更新


最初に行うことは、Ubuntuにすでに付属しているすべてのものを最新の状態にすることです。

ソフトウェアソースリストを更新してから、古いアプリケーションをアップグレードしましょう。

# Update the applications sources list:
aptitude    update

# Upgrade the outdated applications on the system:
aptitude -y upgrade

必要なシステムツールとライブラリの入手


次に、直接使用するか、将来便利になる必要なツールとライブラリをダウンロードしてインストールしましょう。

次のコマンドを実行して、アプリケーションのソースコードのコンパイルに必要なbuild-essentialパッケージをインストールします。

aptitude install -y build-essential 

次に、開発に必要なバージョン管理ツールは次のとおりです。

aptitude install -y cvs subversion git-core mercurial

一部のPythonアプリケーションを機能させるには、特定のPythonパッケージも必要です。

aptitude install python-setuptools python-dev \
                 python2.7-dev python-software-properties \
                 libpq-dev

そして最後に、画像処理など、他のさまざまなことに必要ないくつかのサードパーティライブラリ:

aptitude install libtiff4-dev libjpeg8-dev \
                 zlib1g-dev libfreetype6-dev liblcms2-dev \
                 libwebp-dev tcl8.5-dev tk8.5-dev

一般的なPythonツールの入手


UbuntuとDebianでは、Pythonインタープリターの最新バージョン(使用可能)がデフォルトで付属しています。 インストールする追加パッケージの数は限られています。

次のコマンドを実行して、pipをインストールします。

# Get pip's dependency:
curl https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py | python -

# And then pip:
curl https://bootstrap.pypa.io/get-pip.py | python -

# Finally, let's add it the PATH variable:
export PATH="/usr/local/bin:$PATH"

Pythonアプリケーションをそのすべての依存関係とともに独自の環境内に含めるのが最善です。 環境は、(簡単に言えば)すべてが存在する孤立した場所(ディレクトリ)として最もよく説明できます。 この目的のために、virtualenvと呼ばれるツールが使用されます。

次のコマンドを実行して、pipを使用してvirtualenvをインストールします。

pip install virtualenv  

PythonWebアプリケーション用の環境の作成


注:ここに記載されている手順は簡潔にしています。 詳細については、pipおよびvirtualenvに関するハウツー記事をご覧ください:一般的なPythonツール:virtualenvの使用、Pipでのインストール、パッケージの管理

次のコマンドを実行して、PythonWebアプリケーションの仮想環境を作成します。

# Create a virtual environment:
# Usage: virtualenv [main app. directory name]
# Example:
virtualenv django_app

# Enter the directory to start working with
# the Python interpreter:
# Example:
cd django_app

その後、分離されたPythonインタープリターと pip パッケージマネージャーを操作するには、次のように環境をアクティブ化します。

# Activate the *virtualenv*:
source bin/activate

または、この環境内にあるアプリケーションを操作する必要があるときはいつでも、Pythonインタープリターを直接呼び出します。例:

# Call the Python interpreter directly:
# Usage: bin/python [command]
# Example:
bin/python manage.py runserver 0.0.0.0:8000

アプリケーションのインストール


すべての準備が整ったら、Pythonの操作を開始して、Webアプリケーションを構築できます。

ここにいくつかの素晴らしい例があります:

FlaskWebアプリケーションをデプロイする方法

大きなフラスコアプリケーションを構築する方法

PyramidFrameworkを使用してPythonWebアプリを構築する方法

ピラミッドベースのPythonWSGIWebアプリケーションをデプロイする方法

Web2pyフレームワークを使用してPythonアプリをすばやく構築する方法

ボトルマイクロフレームワークを使用してPythonWebアプリを開発する方法

DjangoCMSをセットアップしてインストールする方法
DjangoCMSバージョン3ベータ3をインストールする方法

DjangoベースのMezzanineCMSをインストールして開始する方法

生産の準備


Djangoに付属しているテスト[アプリケーション]サーバーは、実際の本番シナリオには適していません。 アプリケーションをオンラインにする前に、適切なPythonアプリケーションサーバーをダウンロードしてインストールし、構成する必要があります。 ただし、これは非常に簡単なプロセスであるため、恐れることはありません。

どのアプリケーションサーバーがニーズに最も適しているかを判断するには、記事PythonベースのWebアプリケーション用のWebサーバーの比較を確認してください。

決定したら、次のチュートリアルのいずれかを実行して、Mezzanineアプリケーションを確実で信頼性の高い方法でオンラインにデプロイします。

Nginxの背後にあるGunicornHTTPサーバーを使用してPythonWSGIアプリをデプロイする方法

NginxでuWSGIWebサーバーを使用してPythonWSGIアプリケーションをデプロイする方法

Nginxの背後にあるCherryPyWebサーバーを使用してPythonWSGIアプリケーションをデプロイする方法

Apacheの操作に慣れている場合、または何らかの理由でApacheを保持したい場合は、NginxをApacheに置き換えることを選択できます。 上記のアプリケーションサーバーのいずれかに対するリバースプロキシとして現在のApacheインストールを使用する方法を確認するには、記事 mod_proxyExtensionを使用してApacheHTTPサーバーをリバースプロキシとして使用する方法を確認してください。

投稿者: https ://twitter.com/ostezer
モバイルバージョンを終了