nozaq's diary

ソーシャルな会社でデータ解析やマイニングやってます。 その前は起業してベンチャーやってました。更に前は未踏とかやってました。http://twitter.com/nozaq

nginx + uWSGI + Pyramidでウェブアプリを動かす

Pyramidアプリをnginx上で動かしてみた. nginxはビルトインでuWSGI連携をサポートしているのでPyramidデフォルトのwaitressではなくuWSGIを利用.

  1. 下準備
    > yum install python-devel
    > easy_install virtualenv
  2. Pyramidインストール
    > mkdir -p /path/to/app; cd /path/to/app
    > virtualenv env
    > source env/bin/activate
    > pip install pyramid
    > pcreate -s starter MyProject
    > cd MyProject
  3. uWSGIインストール
    > pip install uwsgi
    python-develパッケージがインストールされていないとエラーになるので注意. 
  4. development.ini / production.iniにuWSGI連携設定を追加
    Pyramidはデフォルトでwaitress用の設定しか無いので, uWSGIのサイトを参考に設定ファイルにuWSGI用設定を追記.
  5. nginxにuWSGI連携を設定.
    nginxのサイトを参考に, nginx.confにHttpUwsgiModuleの設定を追記.
  6. uWSGIを起動
    > uwsgi --ini-paste-logged developmenet.ini
  7. nginxの設定を再読み込み
    > /etc/init.d/nginx reload 

参考ページ: Pyramid + Nginx + uWSGI + MySQL