您的位置:首页 > 运维架构 > Nginx

Django,uwsgi,nginx简单配置

2014-03-17 11:03 696 查看

django_uwsgi_nginx

Table of Contents

1. Django部署
1.1. uwsgi的部署
1.2. nginx的部署

1 Django部署

django+uwsgi+nginx部署环境总结。http请求先到nginx,如果是静态页面,nginx直接获取静态页面返回结果;对于动态页面,则交给uwsgi进行处理,uwsgi再把消息转发给django。

1.1 uwsgi的部署

uwsgi的部署主要有这样几个参数:

参数名取值解释
socketip:port以socket形式侦听接收消息
httpip:port与socket选其一,http没有报大小限制,浏览器可直接访问
chdirdir切换当前目录,加载module使用
masterbool管理进程,其它进程重启等
enable-threadsnum线程个数
workersnum进程个数
virtualenvdir虚拟python工作目录
statsip:port状态,可以用telnet登录查看
envkey=val设置环境
modulestring加载模块应用app
更多参数说明

配置示例:

[uwsgi]
socket = 127.0.0.1:8077
chdir = /home/web/Env/blogenv/mezproj/project
pythonpath=..
env = DJANGO_SETTINGS_MODULE=settings
module = django.core.handlers.wsgi:WSGIHandler()
master = true
enable-threads = true
workers = 4
virtualenv = /home/web/Env/blogenv/mezproj/
stats = 127.0.0.1:9191


配置参考

1.2 nginx的部署

nginx基本命令

cmddesc
nginx -s stopstop fast
nginx -s quitstop gracefully
nginx -s reloadreloading config file
nginx -s reopenreopening the log file
nginx配置分为几个块,最常用的是http,server, location等一个http配置中可以拥有多个server, 一个server可以配置多个location一个请求到达nginx后,按照一定的匹配规则,找到最终的location。简单配置:

user www-data;
worker_processes 4;
pid /run/nginx.pid;

events {
worker_connections 768;
# multi_accept on;
}

http {

##
# Basic Settings
##

sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;

# server_names_hash_bucket_size 64;
# server_name_in_redirect off;

include /etc/nginx/mime.types;
default_type application/octet-stream;

##
# Logging Settings
##

access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;

##
# Gzip Settings
##

gzip on;
gzip_disable "msie6";

server {
listen   80;
server_name www.domain.com;
access_log /home/web/mezproj_env/mezproj/project/static/logs/nginx_access.log;
error_log /home/web/mezproj_env/mezproj/project/static/logs/nginx_error.log;
#charset koi8-r;

#access_log  logs/host.access.log  main;

location / {
include        uwsgi_params;
uwsgi_pass     127.0.0.1:8077;
}
#error_page  404              /404.html;

# redirect server error pages to the static page /50x.html
#
# error_page   500 502 503 504  /50x.html;
# loation = /50x.html {
# root   html;
# }

location /static/ {
alias  /home/web/mezproj_env/mezproj/project/static/;
index  index.html index.htm;
}
location /media/ {
alias  /home/web/mezproj_env/mezproj/project/static/media/;
}

}

}


Author: ROBIN
Created: 2014-03-17 星期一 11:03
Emacs 24.3.1 (Org mode 8.2.1)
Validate
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nginx 管理 server Python