KZKY memo

自分用メモ.

Nginx + uWSGI

これを参考にすると大体分かる.

Nginxをreverse proxyとして使う場合は,

uwsgi --http-socket ...

でなく

uwsgi --socket

をつかうこと.そうしないと,

<html>
<head><title>502 Bad Gateway</title></head>
<body bgcolor="white">
<center><h1>502 Bad Gateway</h1></center>
<hr><center>nginx/1.4.6 (Ubuntu)</center>
</body>
</html>

が返ってきた.documentでは,--http-socketで良いとかいてあるのだが未解決.

  • /etc/nginx/nginx.conf sample
user www-data;
worker_processes 4;
pid /run/nginx.pid;

events {
        worker_connections 768;
        # multi_accept on;
}



http {

    upstream appcluster {
        server 127.0.0.1:9091;
        server 127.0.0.1:9092; # ここを増やしていけば負荷分散になると思う.
    }

    server {
      listen       9090;
      server_name  localhost;
      access_log  /var/log/nginx/bye.access_log.log;
      error_log   /var/log/nginx/bye.error_log.log;

      location / {
        include uwsgi_params;
        uwsgi_pass appcluster;
      }
    }
}

Flask-Loginとの組み合わせもできた.
unicodeエラーがでるというバグが昔あったようだが直ったよう.
dbのinitializationは,fork後に行うこと.--lazy optionをつけることで実現できる.