PaizaCloudクラウドIDEでPythonのCGIプログラムを実行してみる

クラウド開発環境のPaizaCloudクラウドIDEを使ってみます。
まずはですが、PaizaCloudクラウドIDEについては以下の投稿記事で基本的な起動方法、使い方等を書きました。
PaizaCloudクラウドIDEを使ってみる

今回はさらに以下の投稿記事からの一連の流れで書いたCGIプログラムを実行してみます。
PythonでWebプログラミングの基礎(その1)Webサーバの動作確認

今回もPaizaCloudクラウドIDEの無料版で出来る範囲なので無料版でやってみます。

CGIプログラムでの実行結果
最終的には普段使っているブラウザから以下のように自分のPaizaCloudクラウドIDEにアクセスしてCGIプログラムを起動します。そして、その結果を確認します。

このCGIプログラムは以下の投稿記事で書いたCGIプログラムを元に日本の時間を表示しています。
PythonでWebプログラミングの基礎(その2)CGIで動的ページの表示

新規サーバの作成
まず、新規サーバ作成までは出来ているという前提で進めます。必要な場合は、以下の私の投稿記事を参照して下さい。今回も特にサーバ作成時に別途インストールする機能はないです。
PaizaCloudクラウドIDEを使ってみる

以下のように準備出来ると思います。

Python Webサーバの動作確認
まず動作確認用のHTMLファイルを作成します。左上の新規ファイルアイコンから新規ファイルを作成します。ここではホームディレクトリ配下のindex.htmlとします。

以下のように最低限のhtmlファイルを作成して保存します。

ターミナルを起動して念のためlsコマンドで上で作成したHTMLファイルが保存出来ていることを確認します。

ここでpythonのwebサーバを起動します。コマンドは、python -m http.server です。そうしますと、左側に緑色の地球アイコンが新規に表示されます。

この地球アイコンをクリックします。そうしますと、ブラウザが起動されて最低限のHTMLファイルが表示されました。(※index.htmlというファイル名でなければそのファイル名を指定する必要があります。)

別途ブラウザ画面を起動して、PaizaCloudクラウドIDEのブラウザのURLをコピーペーストで入力します。

別のブラウザ画面での表示結果です。確かにアクセス出来ました。立派にインターネット上のWebサーバとして稼働しています。

このようにWebサーバとして稼働出来るのでCGIプログラムも実行出来ます。実際にやってみます。

CGIプログラムの動作確認
まずはWebサーバを起動したターミナルを終了します。そして再度ターミナルを起動します。ここでCGIプログラム用のディレクトリ cgi-bin を作成します。ここではコマンドで作成します。

作成したcgi-bin配下にnow.pyというファイルのプログラムを作成します。新規ファイルのアイコンからディレクトを指定して新規ファイルを作成します。

以下のプログラムをコピーペーストで編集して保存します。プログラムの処理内容は単純に現在時刻を表示します。

#!/usr/bin/env python3

htmlText = '''Content-type: text/html; charset=UTF-8

<html>
<head>
  <title>現在時刻を表示する</title>
</head>
<body>
<h1>現在時刻</h1>
<p>%s</p>
</body>
</html>
'''

from datetime import datetime
import pytz

jst = pytz.timezone('Asia/Tokyo')
jst_datetime = datetime.now(jst)
now = datetime.strftime(jst_datetime,'%Y年%m月%d日 %H時%M分%S秒')
print(htmlText % now)

ファイルが保存出来たら、このプログラムに実行権限を付与します。コマンドは、chmod +x now.py です。

ホームディレクトリに戻ってpythonのWebサーバを今度はcgiも起動出来るように起動します。コマンドは、python -m http.server –cgi です。(CGIの前はハイフン2個です。)

新規に表示された緑色の地球のアイコンからブラウザを起動します。そうすると上記の動作確認用のページが表示されるので以下のCGIプログラムをURLに追加で指定します。
/cgi-bin/now.py

再読み込みで時間が変化していることを確認します。

ファイルの配置
最終的なファイルの配置は以下です。もし動かない場合は確認してください。あと、Webサーバを起動するのはホームディレクトリ上です。

もし、ファイルの配置が合っていても動かない場合は、ここまでの手順で何か間違っているか、プログラム自体が正確にコピーペースト出来ていないか等を確認してみて下さい。

別のブラウザでの確認
Webサーバが問題なく起動出来ている状態で、PaizaCloudクラウドIDEのブラウザのURLをコピーペーストで別のブラウザで動作確認しました。立派にインターネット上のWebサーバとしてさらにCGIプログラムも稼働しています。

まとめとして
クラウド開発環境のPaizaCloudクラウドIDEの無料版でPythonのWebサーバの動作確認とCGIプログラムも実行出来ました。無料版では現在、作成したサーバ自体の利用が24時間まででブラウザ上での連続の作業が4時間までの制限がありますが、これぐらいの作業であれば何とか可能です。もちろん必要になれば有料版に移行してそのまま利用すればいいと思います。

以下の投稿記事から始まる一連の記事で実際に実行するための環境として充分に利用出来ると思います。実際の学習に役に立てばと思います。
PythonでWebプログラミングの基礎(その1)Webサーバの動作確認