実行環境
- Ubuntu 14.2
- Python 3.4
- uWSGI
- Nginx
手間なのでvirtualenvは利用せずに設定します。
なおサーバー環境はvagrantでまっさらなところから作っていきます。
環境構築
さくっと作ります。
vagrantでVM構築
ご存じのvagrant。既に環境がある方は読み飛ばしてください。
Python3、uWSGIのインストール
念のため現在のバージョン確認。
Python3のインストール。
distribute(easy_install) -> pip の順にインストール。
これでpipが使えます。
このままuWSGIをインストールしましょう。
Nginxのインストール
Nginxはさくっと。
これで環境構築は完了です。
bottleで簡単なアプリを組む
次にbottleでサンプルアプリを組みます。
まずはbottleをインストール。
次にbottleを利用して簡単なアプリを組みます。
index.pyの中身
bottleのサーバー立ち上げて、wgetでアクセスしてみます。
問題なければプロセスkillしておきましょう。
各種設定
NginxやuWSGIなどの設定を行います。
適宜実環境に置き換えて考えてください。
hosts書き換え
ローカルで確認しやすいようhostsを書き換えます。
127.0.0.1 myapps.com
を追記して閉じます。以下のような感じ。
pingで念のため確認します。
OKですね。
Nginxの設定
Virtualhostの設定ファイルを作成します。
myapps.com
sites-enabled
にエイリアス置きます。
socket置く場所の確保
これでNginx周りの設定は完了。
uWSGIの設定
uWSGIの起動時設定ファイルを用意します。
uwsgi.ini
ログの保存先確保。
起動
以下のとおりです。
起動確認。
停止
PIDファイル作ってあるので、それを呼び出してquitするだけです。
以上です。
参考
- http://d.hatena.ne.jp/m-hiyama/20120312/1331513519
- http://www.ekesete.net/log/?p=6912
- http://manpages.ubuntu.com/manpages/gutsy/ja/man7/hier.7.html
- http://stackoverflow.com/questions/18562952/uwsgi-socket-not-created
- http://qiita.com/5t111111/items/e170fead91261621b054
- http://qiita.com/takashi/items/a9ff20ff5cdafee50124
- http://zafiel.wingall.com/archives/7513
- http://davidx.me/2014/10/17/configure-nginx-with-bottlepy-and-uwsgi/
- http://qiita.com/haburibe/items/d7ccb1f38ed368055809
- http://qiita.com/yasunori/items/64606e63b36b396cf695
- https://community.runabove.com/kb/en/development/how-to-run-bottle-uwsgi-nginx.html
- https://typist.geek.nz/files/2014/06/bottle+uwsgi/slides/#/6
- http://www.tengiz.net/bootlepy-nginx-uwsgi-python3-with-virtualenv-on-debian/
- http://uwsgi-docs.readthedocs.org/en/latest/Configuration.html
- http://uwsgi-docs.readthedocs.org/en/latest/tutorials/Django_and_nginx.html
- http://www.fisproject.jp/2015/01/nginx-uwsgi-flask/