Pythonのforemanライブラリの使い方を現役エンジニアが解説【初心者向け】

初心者向けにPythonのforemanライブラリの使い方について現役エンジニアが解説しています。foremanライブラリとはOSSのパッチ管理ツールです。Webサーバーではパッチの管理やログの監視が必要になります。foremanライブラリのインストール方法や使い方を解説します。

TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。

Pythonのforemanライブラリの使い方について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。

Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Python講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Pythonのforemanライブラリの使い方について詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

 

foremanライブラリとは

foremanライブラリとはOSSのパッチ管理ツールです。

Webアプリを動かすためにはサーバーが必要になりますが、その運用のためにはセキュリティを考慮する必要があります。そこで必要になることが、パッチの管理ログの監視です。

パッチとは、システムで使用しているプログラムに何らかの不具合があったときに、修正のために提供されるプログラムのことを意味します。多くの機能がありますが、よく使われるのがProcfileを読み込み、管理する際に使用されます。

このProcfileはHerokuでアプリケーションを実行するときにも用いられます。

[PR] Pythonで挫折しない学習方法を動画で公開中

foremanライブラリの使い方

公式ドキュメントでのforemanはサーバーで使用される主要なLinuxディストリビューション(Cent OS, Ubuntu等)でサポートされています。ですが、Pythonをお使いであればPython製のforemanクローンのhonchoというライブラリでOSに関係なくforemanを使うことができます。

formanは以下のpipコマンドでインストールできます。

pip install honcho

このhonchoはコマンドラインで使われます。インストールを終えたら以下の1行でコマンドが使えるか確認してみます。

honcho check

このコマンドはProcfileの内容をチェックするコマンドなので、コマンドを実行したディレクトリにProcfileが存在しない場合は以下の実行結果が出力されます。

2020-07-04 13:58:26 [13684] [ERROR] Procfile does not exist or is not a file

これでhonchoをセットアップできました。次に簡単なWebアプリを作成して、honchoで実行とログ監視をしてみましょう。

実際に書いてみよう

それでは、簡単なWebアプリを作成していきます。今回はFlaskを使ってアプリを作成していきますので、Flaskをインストールしていない場合は、以下のコマンドでインストールします。

pip install flask

以下のソースコードを任意のディレクトリに保存します。ファイル名はapp.pyとします。

# coding: utf-8
from flask import Flask

app = Flask(__name__)

@app.route('/')
def main():
    return "Hello world!"

if __name__ == "__main__":
    app.run(debug=True, host="0.0.0.0", port="8000")

 

続いてProcfileを作成します。以下の内容をProcfileというファイル名で保存します。Procfileは先程作成したapp.pyと同じディレクトリに保存します。

web: python app.py

アプリケーションを実行する前に先程実行した以下のコマンドをソースコードを保存したディレクトリ上で実行しProcfileの存在を確認します。

honcho check

以下のようにProcfileの設定が反映されていることを確認します。

2020-07-04 14:25:58 [2824] [INFO] Valid procfile detected (web)

確認できたら、以下のコマンドを実行してアプリケーションを実行しましょう。

honcho start

実行後、以下のように表示されればアプリケーションは正常に作動しています。

14:35:24 system | web.1 started (pid=13864)

Windowsであれば以下のように別ウィンドウが立ち上がりFlaskが正常に起動できていることがわかります。

まとめ

今回はPythonでforemanを動かす方法を紹介しました。サーバー運用のために重要なパッチ管理を出来るので使い方を知っておくといいでしょう。

監修してくれたメンター

メンター三浦

モバイルゲームを運用している会社のエンジニアをしています。趣味でWEB開発やクラウドコンピューティングもやっており、ソフトもハードもなんでもやります。

TechAcademyジュニアではPythonロボティクスコースを担当しています。好きな言語はPython, Node.js。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも、Pythonを使った人工知能(AI)や機械学習の基礎を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。