###研究了两天nginx和uwsgi今天终于搞定了###这里总结一下安装什么的就不说了,重点说一下配置和注意的问题:我的项目目录/home/charles/mysite/mysite和项目目录平级的
###研究了两天nginx和uwsgi今天终于搞定了###
这里总结一下
安装什么的就不说了,重点说一下配置和注意的问题:
我的项目目录/home/charles/mysite/mysite
和项目目录平级的还有/home/charles/mysite/uwsgi
首先配置uwsgi,所有的uwsgi的配置都在/home/charles/mysite/uwsgi 目录中,查了很多文档
- uWsgi配置文档翻译
- Setting up Django and your web server with uWSGI and nginx,
- nginx + django +uwsgi+virtualenv 简要记录,
- uWSGI-http+Django
配置uwsgi:
首先新建一个uwsgi的配置文件, touch uwsgi.ini
然后新建 touch django_wsgi.py
touch uwsgi.log
touch uwsgi.pid
uwsgi.ini是配置文件:
<!-- lang: shell -->[uwsgi]socket = :8000master = true#chdir = /home/charles/mysite/mysite#module = mysite.wsgimodule = django_wsgi processes = 8listen = 120 enable-threads = truedaemonize = /home/charles/mysite/uwsgi/uwsgi.log pidfile = /home/charles/mysite/uwsgi/uwsgi.pidpythonpath = /home/charles/mysitepythonpath = /home/charles/mysite/uwsgipythonpath = /home/charles/mysite/mysitebuffer-size = 32768reload-mercy = 8vacuum = true
django_wsgi.py
<!-- lang: shell -->#!/usr/bin/python
import os,sysos.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'import django.core.handlers.wsgiapplication = django.core.handlers.wsgi.WSGIHandler()
这样uwsgi就配置完毕, uwsgi.log是log文件, uwsgi.pid是存储进程号的地方。
开起服务器: uwsgi --ini uwsgi.ini
这个时候是不好使地, 哈哈, 如果要看看效果, 需要把uwsgi.ini中的socket改为http这样访问127.0.0.1:8000就能看到网站了
继续。。。。。。。。
配置nginx, nginx自带了uwsgi_params, 我们要做的是在nginx把uwsgi_params的各种参数传到uwsgi中, 打开nginx的配置文件,加入:
<!-- lang: shell -->server { listen 80; server_name 127.0.0.1 charset UTF-8; access_log /var/log/nginx/test_access.log; error_log /var/log/nginx/test_error.log; client_max_body_size 75M; location / { include uwsgi_params; uwsgi_pass 127.0.0.1:8000; uwsgi_read_timeout 2; } location /static { expires 30d; autoindex on; add_header Cache-Control private; alias /home/charles/mysite/mysite/mysite/static/; } }
这样就搞定了,可以访问127.0.0.1看看网站了, 我在这犯了一个错误,就是在uwsgi.ini中写的是http所以不好使,后来把http改为socket好使了。