nginx+uwsgi+django 搭建web,nginxuwsgi


学习了一下django, 试着用nginx + uwsgi + django 来搭建一个web


1. nginx 的搭建

   下载nginx 的code  nginx-1.6.2.tar.gz, 然后解压code ,   ./configure xxxx  && make , build 出相应的nginx, 我把nginx build 在/usr/nginx 

    然后conf dir 下面有一个nginx.conf, 我简单做一下配置,在http 下面做以下配置:

        server {
        listen       80;
        server_name  localhost;
        charset utf-8;
        access_log /usr/nginx/logs/host_access.log;
        location / {
            #root   html;
            #index  index.html index.htm;
            uwsgi_pass 127.0.0.1:9000;
            include uwsgi_params;
        }

         location /static/ {
            alias  /usr/nginx/static/;
            index  index.html index.htm;
        }

     }


2. uwsgi 的搭建

   下载uwsgi , 我download 的是uwsgi-1.4.5.tar.gz 然后 build (或者easy_install uwsgi) 然后做配置uwsgi.ini

   [uwsgi]
   http = 127.0.0.1:9000  (注意如果前面加nginx了,这个时候我们不能用http了, 改用socket , 增加protocol = uwsgi)
   chdir =/root/myWebApp/mysite  (django 的project path)
   wsgi-file = mysite/wsgi.py         (django project 下面的wsgi.py)
   processes = 4
   threads = 2
   stats = 127.0.0.1:8000


然后我们将django 下面的static 文件放在nginx 下面,看nginx 的配置location /static/ 
所以我们可以run :python manage.py collectstatic  /usr/nginx/static/

但是我们要在setting 中STATIC_ROOT = "/usr/nginx/static/", INSTALLED_APPS 中要有'django.contrib.staticfiles'

3.最后可以用supervisor 来run uwsgi , 写一个启动脚本来同时run nginx + uwsgi
supervisor.ini
[program:uwsgi]
command=uwsgi --ini /usr/nginx/scripter/django_uwsgi.ini --ignore-sigpipe --ignore-write-errors
autostart=true
startsecs=5
redirect_stderr=true
stdout_logfile=/usr/nginx/logs/dj-uwsgi.log
stdout_logfile_maxbytes=10MB
stdout_logfile_backups=5



   

相关内容

    暂无相关文章