文档章节

nginx + uwsgi + django + python 部署

charlesdong1989
 charlesdong1989
发布于 2013/05/03 19:03
字数 437
阅读 6595
收藏 55

###研究了两天nginx和uwsgi今天终于搞定了###


这里总结一下
安装什么的就不说了,重点说一下配置和注意的问题:
我的项目目录/home/charles/mysite/mysite
和项目目录平级的还有/home/charles/mysite/uwsgi
首先配置uwsgi,所有的uwsgi的配置都在/home/charles/mysite/uwsgi 目录中,查了很多文档

配置uwsgi:
首先新建一个uwsgi的配置文件, touch uwsgi.ini
然后新建 touch django_wsgi.py
touch uwsgi.log
touch uwsgi.pid
uwsgi.ini是配置文件:

<!-- 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/python

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就能看到网站了

继续。。。。。。。。
配置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好使了。

© 著作权归作者所有

共有 人打赏支持
charlesdong1989
粉丝 21
博文 155
码字总数 84903
作品 0
海淀
加载中

评论(2)

adameeee
adameeee
thx,it work!
Si2
Si2
为什么不行啊,总是502 Bad Gateway???
python + django + bootstrap + uWSGI + nginx 环境搭建

原文:http://www.huangdc.com/103 在了解 uWSGI 之前,我们不妨先了解一下 python http服务器? 要使 Python 写的程序能在 Web 上被访问,还需要搭建一个支持 Python 的 HTTP 服务器,列举几...

dchuang
2015/07/19
0
0
Nginx+uWSGI+DJango+Python+ Mysql 搭建可靠的python web服务

本文出自:http://www.huxun360.com/view_blog/28 一、安装所需工具 yum -y install gcc gcc-c++ rpm-build mysql libtool-ltdl libtool automake autoconf libtool make setuptool 二、编译......

我的去哈哈
2014/03/28
0
0
Ubuntu 下面部署Django 项目

django 是 python 开源的 web 框架 ,django 本身运行后也是一个轻量级的服务器,可以满足本地的测试,生产环境中的 大量访问, 一般和nginx 和 apache 结合。下面以 Django 与nginx 结合为例...

水滴石川1
06/26
0
0
ubuntu14.04+Django1.7.1+nginx1.6+uwsgi2.0环境搭建

ubuntu下安装django1.7.1先安装pip sudo apt-get install pip 使用pip安装django sudo pip install Django (或者下载官方最新的django包,解压后执行sudo python setup.py install) 安装完...

niceguy_php
2014/12/22
0
0
Django1.11+Uwsgi+Nginx的生产环境部署

思路:使用runserver可以使我们的django项目很便捷的在本地运行起来,但是这只能在局域网内访问。正式环境部署的话比较安全,而且静态文件的处理方式会比较友好。nginx作为服务器的最前端,负...

M玺
05/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

困扰当前数据中心管理的三大难题

导读 当企业发展到一定程度,或者之前的机房不能满足现在的数据中心使用时,企业会对数据中心进行迁移。那么在数据中心进行迁移的时候会遇到哪些风险呢?针对这些风险我们应该做出怎样的措施来...

问题终结者
15分钟前
0
0
设计模式:工厂方法模式(工厂模式)

工厂方法模式才是真正的工厂模式,前面讲到的静态工厂模式实际上不能说是一种真正意义上的设计模式,只是一种变成习惯。 工厂方法的类图: 这里面涉及到四个种类: 1、抽象产品: Product 2、...

京一
31分钟前
0
0
区块链和数据库,技术到底有何区别?

关于数据库和区块链,总会有很多的困惑。区块链其实是一种数据库,因为他是数字账本,并且在区块的数据结构上存储信息。数据库中存储信息的结构被称为表格。但是,区块链是数据库,数据库可不...

HiBlock
39分钟前
0
0
react native 开发碰到的问题

react-navigation v2 问题 问题: static navigationOptions = ({navigation, navigationOptions}) => ({ headerTitle: ( <Text style={{color:"#fff"}}>我的</Text> ), headerRight: ( <View......

罗培海
46分钟前
0
0
Mac Docker安装流程

久仰Docker大名已久,于是今天趁着有空,尝试了一下Docker 先是从docker的官网上下载下来mac版本的docker安装包,安装很简易,就直接拖图标就好了。 https://www.docker.com/products/docker...

writeademo
54分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部