nginx + uwsgi + django + python 部署

###研究了兩天nginx和uwsgi今天終於搞定了###html


這裏總結一下
安裝什麼的就不說了,重點說一下配置和注意的問題:
個人項目目錄/home/charles/mysite/mysite
和項目目錄平級的還有/home/charles/mysite/uwsgi
首先配置uwsgi,全部的uwsgi的配置都在/home/charles/mysite/uwsgi 目錄中,查了不少文檔python

配置uwsgi:
首先新建一個uwsgi的配置文件, touch uwsgi.ini
而後新建 touch django_wsgi.py
touch uwsgi.log
touch uwsgi.pid
uwsgi.ini是配置文件:nginx

<!-- lang: shell -->
[uwsgi]
socket = :8000
master = true
#chdir = /home/charles/mysite/mysite
#module = mysite.wsgi
module = django_wsgi 
processes = 8
listen = 120 
enable-threads = true
daemonize = /home/charles/mysite/uwsgi/uwsgi.log 
pidfile = /home/charles/mysite/uwsgi/uwsgi.pid
pythonpath = /home/charles/mysite
pythonpath = /home/charles/mysite/uwsgi
pythonpath = /home/charles/mysite/mysite
buffer-size =  32768
reload-mercy = 8
vacuum = true

django_wsgi.py
<!-- lang: shell --> #!/usr/bin/pythonweb

import os,sys
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

這樣uwsgi就配置完畢, uwsgi.log是log文件, uwsgi.pid是存儲進程號的地方。
開起服務器: uwsgi --ini uwsgi.ini
這個時候是很差使地, 哈哈, 若是要看看效果, 須要把uwsgi.ini中的socket改成http這樣訪問127.0.0.1:8000就能看到網站了shell

繼續。。。。。。。。
配置nginx, nginx自帶了uwsgi_params, 咱們要作的是在nginx把uwsgi_params的各類參數傳到uwsgi中, 打開nginx的配置文件,加入:django

<!-- 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好使了。服務器

相關文章
相關標籤/搜索