雑に動かすところまでやってみたのでメモ。
PythonのフレームワークはDjangoが有名だけど、シンプルなbottleを使ってみることにした。
「bottle.py」だけでできているので入門に最適らしい。
環境
uWSGIをインストール
$ pip install uwsgi
$ uwsgi --version 2.0.12
インストールできた。
bottleをインストール。
$ pip install bottle
bottleで簡単なプログラムを書く
$ mkdir myapp $ cd myappp $ vim index.py
#!/usr/bin/env python # -*- coding:utf-8 -*- from bottle import route, run, default_app @route('/') def hello(): return 'Hello World!' if __name__ == '__main__': # コマンドから"python3 index.py"で起動した場合 run(host='localhost', port=3030) else: # uWSGIから起動した場合 application = default_app()
nginxの設定
vim /etc/nginx/conf.d/myapp.conf
server { listen 80; server_name myapp.com; access_log /var/log/nginx/myapp.com.access.log; location / { include uwsgi_params; uwsgi_pass unix:/var/run/uwsgi/myapp.com.sock; } }
uWSGIの設定
[uwsgi] socket = /var/run/uwsgi/myapp.com.sock pidfile = /var/run/uwsgi/myapp.com.pid daemonize = /var/log/uwsgi/myapp.com.log chdir = /home/vagrant/myapp/ master = 1 file = index.py chmod-socket = 666 uid = nginx gid = nginx py-autoreload = 1
ディレクトリ作成して、オーナー変更
$ sudo mkdir /var/run/uwsgi/ $ sudo chown nginx /var/run/uwsgi/
$ sudo mkdir /var/log/uwsgi $ sudo chown nginx /var/log/uwsgi
uwsgiを起動
uwsgi --ini uwsgi.ini
あとはhosts設定してアクセスすると、Hello World!
が表示される。
とても参考になったブログあったんだけど、URLなんだったかな。。。