そんな疑問を解消するために今回はConoHaWINGでPythonを使う方法をいくつか見ていこうと思います。Pythonをレンタルサーバーで使いたい場合は参考にしてみてください。
- Pythonプログラムを実行する
- CronでPythonファイルを実行も可能
- CGIでPythonを実行する
- Flaskアプリケーションを動かす
紹介するのはインストール済みのPythonを使ったファイル実行、Cron実行、CGIを使ったアプリケーション操作などです。
ConoHa WINGでPythonは使える
FAQを見てみるとConoHa WINGでもPythonを使うことができます。
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使いたいっていう場合は使ってみるといいです。
- Pythonプログラムを実行可能
- CronでPythonプログラムの実行が可能
- CGIでPythonをプログラムを動かすことが可能
おすすめはベーシックプランです。Pythonを使いたかったら試してみてください。