1. はじめに
WEBアプリ開発初心者の備忘録です。
まずは,VPS上でPython3.6+Flaskを動かして,Flaskの開発用サーバで公開してみます。
下記を参考にしました。
2. VPSについて
ConoHa VPSのプランは下記の通りです。
- メモリ 1GB/CPU 2Core
- SSD 50GB
サーバ構築後,セキュリティ関係の初期設定をしますがここでは省略します。(下記参照)
ConohaにVPSを設置して、SSHログイン、ポート番号変更、rootログイン禁止までを30分で!
ちなみに,sshのポート番号がデフォの22のときは結構総当たり攻撃がありましたが,
22から変更したらなくなりました。(当然か)
3. ライブラリのインストール
Python3.6, Nginx, uWSGIをインストールします。
$ sudo yum install -y nginx
$ sudo yum install -y https://centos7.iuscommunity.org/ius-release.rpm
$ sudo yum install -y python36u python36u-libs python36u-devel python36u-pip
$ sudo yum groupinstall "Development Tools"
$ sudo yum install -y uwsgi
インストール後,必要であれば,/bin/以下にシンボリックリンク(Python3とか)を貼ります。
4. Python仮想環境の構築
venvで仮想環境を作ります。Flask関係のファイルはホームディレクトリ以下にappというディレクトリを作って,
まとめておくことにします。
$ cd
$ mkdir app
$ cd app
$ python3.6 -m venv env
$ source env/bin/activate
(env) $ pip3 install flask uwsgi
(env) $ deactivate
5. FlaskでHello World!
app以下にFlaskでHello World!するためのPythonコードを書きます。
コードのファイル名はapp.pyとします。
$ touch app.py
$ emacs app.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def index():
return "Hello! shikao-yuzu page!"
if __name__ == "__main__":
app.run(host="X.X.X.X" ,port=8080)
host="X.X.X.X"にはVPSのグローバルIPを入れます。
6. ポート開放
firewalldでTCPポート8080を開放します。
$ sudo firewall-cmd --permanent --add-port=8080/tcp
$ sudo firewall-cmd --reload
7. Flaskの開発用サーバ起動
Flask組み込みの開発用サーバを起動します。
http://X.X.X.X:8080
にアクセスして,"Hello! shikao-yuzu page!"と表示されたら成功です。
$ source env/bin/activate
(env) $ python3 app.py
なお,サーバは"Ctrl+C"で終了できます。
続く(かも)