conoHa WINGでPythonは使える、コードを書いて実行してみよう!!【CGI・Cron・・・】

ConoHa WINGでPythonって使えるのかな?

そんな疑問を解消するために今回はConoHaWINGでPythonを使う方法をいくつか見ていこうと思います。Pythonをレンタルサーバーで使いたい場合は参考にしてみてください。

記事の内容
  • Pythonプログラムを実行する
  • CronでPythonファイルを実行も可能
  • CGIでPythonを実行する
  • Flaskアプリケーションを動かす

紹介するのはインストール済みのPythonを使ったファイル実行、Cron実行、CGIを使ったアプリケーション操作などです。

ConoHa WINGでPythonを使ってみよう

ConoHa WINGでPythonは使える

FAQを見てみるとConoHa WINGでもPythonを使うことができます。

FAQ

Pythonのパスとしては以下。

  • python2.7・・・/opt/alt/python27/bin/python2.7, pip2.7, pydoc2.7
  • python3.6・・・/opt/alt/python36/bin/python3.6, pip3.6, pydoc3.6

実際にConoHa WINGにSSH接続してみてみるとPythonありますね。

単にPythonを実行するならこの元から入っているPythonを使えば良さそうです。

Pythonプログラムを実行してみる

実際にPythonで書いたコードを実行できるか確かめます。適当にHello World!!を出力するコードを書いたファイルを用意して、そのファイルをConoHa WINGのサーバーに置いて実行してみる。

// sample.py

print("Hello World!!")
print("Hello World!!")
print("Hello World!!")
print("Hello World!!")
print("Hello World!!")
print("Hello World!!")
print("Hello World!!")
print("Hello World!!")
print("Hello World!!")
print("Hello World!!")
print("Hello World!!")
print("Hello World!!")
print("Hello World!!")
print("Hello World!!")
print("Hello World!!")
print("Hello World!!")

FTPソフトを使ってファイルをアップロードしてもいいけど、今回は1ファイルだけだしファイルマネージャーからファイルを作って試してみよう。sample.pyっていうファイルの中にHello World!!の記述を書き込む。

これをConoHaWINGにSSH接続して実行してみるとちゃんと実行されました。

ちなみにpython --versionとするとPython 3.6.11となりました。シンボリックリンク確認してみるとpythonでpython3.6が使われるようになっていますね。

CronでPythonファイルを実行も可能

ConoHa WINGにはジョブスケジューラーがあるので、そこに定期的に実行したいPythonファイルに向けてコマンドを入力すれば実行される。

cronを選択すればより細かく設定できる。cronの記述に慣れている人はcronタブからやった方がやりやすそうですね。

CGIでPythonを実行する

CGIでもPythonファイルを実行できるはずだから試してみよう。cgiファイルを実行するために.htaccessに記述を追加します。

//.htaccess
Options +ExecCGI
AddHandler cgi-script .py

今回は何か入力したらそれを表示するっていうシンプルなものを作ります。公開したいドメイン配下に以下のファイルを作成。

  • form.html
  • index.py
// form.html

<html>
  <head>
    <meta charset=utf-8>
    <title>CGITEST</title>
  <head>
  <body>
    <form action=index.py method=post style="text-align:center;">
    <input type=text name=text>
    <input type=submit name=submit>
  </form>
  </body>
</html>
// index.py

#!/opt/alt/python36/bin/python3.6
import cgi
import sys
import io

sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
print('Content-Type: text/html; charset=UTF-8\n')
html_body = """
<!DOCTYPE html>
<html>
<head>
</haed>
<body style="text-align:center;">
<h1>"%s"</h1>
</body>
</html>
"""

form = cgi.FieldStorage()
text = form.getvalue('text', '')

print(html_body % (text))

index.pyの方はパーミッションを755にしておきます。

ドメインのpublic_html配下にform.htmlという名称で作ったので、ドメイン名/form.htmlにアクセス。試してみるとちゃんと動きました。

Flaskアプリケーションを動かす

CGIを使ってFlaskアプリケーションを動かすことなんていうこともできなくはないです。以下の記事でFlaskアプリケーションをConoHaWINGに公開するっていうことをやったのでよかったらどうぞ。

ConoHaWINGでもPythonは実行できる

ConoHaWINGでPythonのコードを実行した方法をいくつか紹介したけど、ConoHaWINGでもPythonを使うことができます。レンタルサーバーでPython使いたいっていう場合はConoHa WING使ってみてもいいかもしれませんね。

2022年5月16日までベーシックプラン最大50%OFF