株式会社ティリオン公式ブログ

ティリオンは、
ITに関する様々なお悩みを解決します、
技術系&日々のできごとをゆるくご紹介。

PythonをWEBサーバで動かす(1)

2019-07-12 14:35:57 | IT

とりあえずWEB環境でPythonを動かしてみたい。

今、借りているサーバ(Xserver)の状況を、
管理画面で調べてみると、
Pythonがインストールされていているようで、
バージョンとしては、

Python3.4.3

プログラムのパスは

/usr/bin/python3.4

となっている。

そこで、簡単なプログラム(test1-1.cgi)を作成してサーバにアップ、


#!/usr/bin/env python3.4
# -*- coding: utf-8 -*-

# ヘッダの出力
print("Content-type: text/html; charset=UTF-8")
print("")

print("abcdefg")
print("hijklmn")


この時の注意点としては、

①HTMLディレクトリ(public_html)の下にアップロード
②パーミッションは 0755 に設定
③拡張子は .cgi 
④文字コードは utf-8

特に問題なく動いて、
ブラウザには、


abcdefg
hijklmn


と2行表示された。

ただ、記述を間違えた場合、

print("abcdefghij"): ← ※行末に「:」を入力


500
Internal Server Error
アクセスしようとしたページは表示できませんでした。


という画面が盛大に表示される。

実際どこが悪いのかさっぱりわからない、
一応エラーログ(サーバ管理画面からダウンロード)で確認すると、

End of script output before headers: test1-1.cgi

と出力されてはいるが、
これでも具体的にどこなのか手がかりも掴めない状況、
いろいろ調べるとプログラム中に下記2行を追加することにより、
エラー内容を表示することがわかった。

import cgitb
cgitb.enable()

んー状況は変わらず、
そこでエラーを仕込んだ行を下記に変えてみると、

prinet("hijklmn")

エラー画面が表示された。

根本的(致命的)なエラーだと、
500 を表示するのみ、
軽微なものならエラーを表示する、
という感じか。

500が出てしまうと原因究明にやたらと時間がかかりそうだし、
この辺り調査が必要だな。

。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。
株式会社ティリオンでは、
ITやWEB関連でお悩みの会社を親切丁寧にサポートします、
こんなことできないか、
なんとかならないかな、
と、思ったら、
まずは、お気軽にお問合せを、
相談は無料です。

miura@tirion.co.jp 担当:三浦
 
弊社では、お酒の情報ポータルサイト、
銘酒ネット(https://meisyu.net/)を運営しています。
。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。

最新の画像もっと見る

コメントを投稿