☆☆ 新着記事 ☆☆

2018年10月12日金曜日

( !! これで動く !! )ロリポップ・サーバーでPython Flaskを動かしてみる

Flaskを動かす時には、wscgiをインストールする必要があります。 但し、シェアード・ホスティングの場合、管理者権限がないので、この変更ができません。


そこで cgiからflaskを起動するのですが、 ネットで探しても、途中で終わっているものが多かったり、動かなかったり。
大分、苦労して、動かせるようになりましたので、そのまとめです。


Pythonは、ロリポップで提供しているPython 。 virtualenvは使いません。


(前提)
flaskは事前にインストールして、Pathを通しておいてください。


(Flask Code)

Home Directory (ロリポップは、ディレクトリ 'web' の下)に、以下のフォルダを作ります。

web/dest/src/

このsrcフォルダの中に、以下の3つのファイルを作ります。
ファイルのパーミッション設定は非常に大切です。

1. cgiファイル (Permission:700)
ファイル名: index.cgi

#!/usr/local/bin/python3.4
import cgitb
cgitb.enable()
from wsgiref.handlers import CGIHandler
from test import app
CGIHandler().run(app)

2. .htaccess(Permission:604)

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /dest/src/index.cgi/$1 [QSA,L]

3.pyファイル
ファイル名: test.py

# coding: utf-8
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
    return "Hello World !"
if __name__ == '__main__':
    app.run()

*これで、 URL/dest/src/ にアクセスすれば、Hello World ! が表示されます
(indexで受けてから、.htaccessで、リダイレクトさせますので、ファイル名 'test.py'までURLで指定しると動きません。)

ここまで来るのに、非常に時間がかかりました。

0 件のコメント:

コメントを投稿