Skip to content

Instantly share code, notes, and snippets.

@monkut
Created November 22, 2015 06:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save monkut/1e63f65c86577fbaa871 to your computer and use it in GitHub Desktop.
Save monkut/1e63f65c86577fbaa871 to your computer and use it in GitHub Desktop.
(ubuntu 14.04) uwsgi アプリとnginxの基本設定

uwsgi アプリとnginxの基本設定

長い間、pythonでウエブアプリを使う場合、apache+mod_wsgiを使ってきました。 この数年でnginxが早いと評判となってきて、apacheとの設定違いはきになっていました。

去年、自分が作ったウエブアプリのrequests/秒が上げたくて、apache用のmod_wsgiの代わりに、インストールしやすいpython用のウエブサーバ探したら、 uwsgiを見つけました。uwsgiで同じアプリ試したところ、apache+mod_wsgiより早い結果が出ました。

次は、virturalenv/venvを使った開発のながれです。 これも、数年前から動きは、聞きましたが、なかなかその必要なユースケースがなく、virutalenvの使い方を勉強しなかったんですが、 virtualenvがvenvというpython標準モジュールになって、自分も同じサーバ複数アプリを動かしたいのですが、やっぱり、アプリごとに自分の環境を持つべきと時間しました。

この三つ(nginx + (venv+uwsgi))がやっと、理解してきた気がするので、とりあえず、今使っている例をここでメモとして残します。

nginx インストール

ubuntu 14.04リポジトリのnginxがインストールしやすいので、使っています。

  1. nginxをインストール
    sudo apt-get install nginx
  2. インストールされると、/etc/nginxに入ります。  
  3. nginxの基本構造と設定 TODO!!

venvとpypiのuwsgiを使ったアプリ開発例

長い間、/var/www/配下にアプリを置いてきましたが、最近, LINUXのFHSをみると、/srv/wwwのほうがいいようなきがします。 今回使っている、ubuntuのガイドには、そのようなことを書いているので、ここでは、/srv/wwwを指定しています。

https://help.ubuntu.com/community/LinuxFilesystemTreeOverview

前提条件:

  • python3 を使用
  • ubuntu 14.04
  1. venvを作成
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment