Step1. Virual Environmentの作成
Python 3.6 以降は、venv が推奨されていますので、それに従います。
1) Create a project folder and a
venv
folder within:sshで接続。
①プロジェクト・フォルダーの作成
rootユーザで、「var /www/html」 直下に flaskpjというプロジェクト・フォルダを作ってみる。
[root@localhost /]# find -name html -type d
. /var/www/html
以下のコマンド実行。
♯cd flaskpj
[root@localhost html]# mkdir -m 755 flaskpj
[root@localhost html]# ls -a
. .. .htaccess blog flaskpj
ディレクトリ 「flaskpj」 に移って、念のため現在のPythonのpathを確認。
[root@localhost html]# cd flaskpj
[root@localhost flaskpj]# which python
/bin/python
②venv環境の作成
♯ python3.7 -m venv venv
[root@localhost flaskpj]# python3.7 -m venv venv
[root@localhost flaskpj]# ls -a
. .. venv
venvフォルダの中身については、前回、書きました。 興味のある方は以下のリンクをどうぞ。
(失敗版)さくら VPS CentOS7 に flask をインストールしてみる
Step2: Activate the environment
仮想環境のファイルが入ったDirectory (今回は、venvで)以下を実行。
# source bin/activate
[root@localhost venv]# source bin/activate
(venv) [root@localhost venv]#
確認です。
(venv) [root@localhost venv]# ls bin
activate activate.csh activate.fish easy_install easy_install-3.7 pip pip3 pip3.7 python python3
(venv) [root@localhost venv]# which python
/var/www/html/flaskpj/venv/bin/python
deactivateすると、、、
多分、前回と同じでしょう。
Step3. Install Flask
① pipでフラスクをインストール
(venv) [root@localhost venv]# pip install Flask
(確認)
(venv) [root@localhost venv]# ls bin
activate activate.fish easy_install-3.7 pip pip3.7 python3
activate.csh easy_install flask pip3 python python3.7
flaskがインストールされました。
②SFTPでファイルアップロードが出来るようにフォルダの権限を変えます。
(venv) [root@localhost html]# chown -R apache:vpsuser *
(venv) [root@localhost html]# chmod -R g+w *
(venv) [root@localhost html]# ls -l
total 4
drwxrwxr-x 5 apache vpsuser 4096 Dec 6 19:32 blog
drwxrwxr-x 3 apache vpsuser 17 Dec 6 23:56 flaskpj
(venv) [root@localhost html]# cd flaskpj
(venv) [root@localhost flaskpj]# ls -l
total 0
drwxrwxr-x 5 apache vpsuser 94 Dec 7 00:06 venv
③SFTP でファイルアップロードして確認
[root@localhost flaskpj]# ls -ll
total 4
drwxr-xr-x 2 apache vpsuser 33 Dec 7 00:45 __pycache__
-rw-rw-r-- 1 apache vpsuser 221 Dec 6 00:12 index.py
drwxrwxr-x 6 apache vpsuser 104 Dec 7 09:39 venv
これで、
http://www.mossymob.tk/flaskpj/index.py
にブラウザからアクセスすると、pyファイルの記述内容がtextで表示されてしまう。
ありがちな事象。 flaskが動かないのはなぜか?
ネットで検索しすぎても、色々と少しずつ違ったバージョンの説明があってよく分からない。
そこで、なるべく避けていた公式サイトとドキュメントを再度訪れて、もう少し真面目にみてみる。
すると目次の下の方に
・Deployment Options
という章があった。
Hosted Optionでは米国の有名どころ(Heroku,AWS,Google App Engine, Azure 等)のホスティングにインストール手順が出ているが、当然、'Self-hosted options' (その他、自分でやるバージョン)になります。
設定は、以下の項目に分かれてる。
・Standalone WSGI Containers
・uWSGI :nginx, lighttpd, and cherokee を使ている人用
・mod_wsgi (Apache) :Apache 2.0, 2.2 or 2.4 を利用している人用
・FastCGI
・CGI :なつかしい、ここから脱出する為にvpsを利用しようとしている。
なーんだ、Apacheだから、mod_wsgiが必要なんじゃなない、
ということで、インストールしてみる。
説明は、次回に。
0 件のコメント:
コメントを投稿