Edited at

アリババCloudを使って見ました。(hello worldまで)

image.png


環境:

・OS:Linux Ubuntu  14.04 64位

・Nginx

・Gunicorn

・supervisor

アリババcloudでECSを購入して、ssh接続方法でウェブサーバに接続できます。

ssh root@[IPアドレス]



 パースワードを入力すれば、こんな画面表示されます。

image.png


step1: pythonの環境の用意

・ウェブサーバの方は、python2があ李ますが、python3ないので、必要な場合はダウンロードするべき。

・自分のプロジェクトをFTP ソフトとか scpでコマンドでウェブサーバーアプロードします。

$ scp -r [localのpath] root@abc.com:[サーバーのpath]


step2: Gunicornのインストール

Gunicornは仮想環境を使うべき(virtualenv)

(venv) $ pip install gunicorn

Gunicornを実行する

gunicorn -w 4 -b 127.0.0.1:8000 「ファイル名」:app



ここでは簡単なhello.pyを実行してみます。


hello.py

from flask import Flask

app = Flask(__name__)
@app.route('/')
def index():
return 'hello world'
if __name__ == '__main__':
from werkzeug.contrib.fixers import ProxyFix
app.wsgi_app = ProxyFix(app.wsgi_app)
app.run()


実行成功したら、 webサーバで訪問できます。

curl http://127.0.0.1:8000/



上のコマンドで、terminalで確かめることができます。


step3: nginxのインストール&環境設定

・nginxをインストール

$ sudo apt-get update

$ sudo apt-get install nginx
$ sudo chmod 777

・ngixnの環境設定

sudo cp /etc/nginx/site-avalidable/default /etc/nginx/site-avalidable/default.bak

sudo vim /etc/nginx/sites-avalidable/default

・相応な部分を編集します。

server {

listen 80;
server_name example.org; # ドメインまたは、IPアドレス

location / {
proxy_pass http://127.0.0.1:8080; # ここは gunicorn hostアドレス
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

設定した後、再実行します。

sudo service nginx restart

これで、OK。

ドメインとかIPアドレスで、自分のホームページを訪問できます。image.png


備考

・nginxコマンド

起動: sudo service nginx start

restart: sudo service nginx restart
stop: sudo service nginx stop
テスト: sudo service nginx configtest