文档章节

nginx + uwsgi + django + python 部署

charlesdong1989
 charlesdong1989
发布于 2013/05/03 19:03
字数 437
阅读 6619
收藏 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
粉丝 22
博文 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
django用uwsgi和nginx部署失败的问题

我自己尝试不是django+uwsgi+nginx,发现部署失败,访问80端口出来的还是nginx默认的页面 版本信息: nginx version: nginx/1.0.15 Python 2.7.11 django:(1, 9, 5, 'final', 0) uwsgi:2.0......

BrankoJuan
2016/05/18
511
1
【NGINX】nginx+uwsgi+django+python部署总结

(记录一下) 环境如下: 操作系统: Ubuntu 10.04 nginx: 1.0.12 uwsgi: 1.0.4 python: 2.6.5 django: 1.2.7 一.安装uwsgi 到http://projects.unbit.it/uwsgi/wiki/WikiStart#Getit 下载......

晨曦之光
2012/03/01
3.1K
0
Nginx+uWSGI 部署 Django 应用

常见的 webapp 部署方式采用 或 的方式部署,今天我这备忘下采用的部署方式。 目前我这博客就是采用 Nginx + uWSGI + Python + Django 构建的,部署虽没有php那样扔到目录那么方便,但是并发和...

鉴客
2011/10/26
27.1K
8
centos下使用nginx+uwsgi 部署django

CentOS 下使用uwsgi+nginx部署django 当前环境: Centos7 Django2.0 Python3.7 安装uwsgi 安装Nginx Nginx常用命令 django项目结构 测试uwsgi 通过uwsgi运行该文件 配置Django与uwsgi连接 在我...

_Change_
2018/08/27
0
1

没有更多内容

加载失败,请刷新页面

加载更多

centos7重置密码、单用户模式、救援模式、ls命令、chmod命令

在工作当中如果我们错误的配置了文件使服务器不能正常启动或者忘记密码不能登录系统,如何解决这些问题呢?重装系统是可以实现的,但是往往不能轻易重装系统的,下面用忘记密码作为例子讲解如...

李超小牛子
今天
3
0
Python如何开发桌面应用程序?Python基础教程,第十三讲,图形界面

当使用桌面应用程序的时候,有没有那么一瞬间,想学习一下桌面应用程序开发?行业内专业的桌面应用程序开发一般是C++,C#来做,Java开发的也有,但是比较少。本节课会介绍Python的GUI(图形用...

程序员补给栈
今天
5
0
kafka在的使用

一、基本概念 介绍 Kafka是一个分布式的、可分区的、可复制的消息系统。它提供了普通消息系统的功能,但具有自己独特的设计。 这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统...

狼王黄师傅
今天
3
0
Android JNI总结

0x01 JNI介绍 JNI是Java Native Interface的缩写,JNI不是Android专有的东西,它是从Java继承而来,但是在Android中,JNI的作用和重要性大大增强。 JNI在Android中起着连接Java和C/C++层的作...

天王盖地虎626
昨天
3
0
大数据教程(11.8)Hive1.2.2简介&初体验

上一篇文章分析了Hive1.2.2的安装,本节博主将分享Hive的体验&Hive服务端和客户端的使用方法。 一、Hive与hadoop直接的关系 Hive利用HDFS存储数据,利用MapReduce查询数据。 二、Hive与传统数...

em_aaron
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部