文档章节

nginx + uwsgi + django + python 部署

charlesdong1989
 charlesdong1989
发布于 2013/05/03 19:03
字数 437
阅读 6607
收藏 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
centos下使用nginx+uwsgi 部署django

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

_Change_
08/27
0
1
Ubuntu 下面部署Django 项目

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

水滴石川1
06/26
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
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

没有更多内容

加载失败,请刷新页面

加载更多

区块链100讲:盘点那些常用的加密算法原理

在开发过程中,常常用到各种加密方法和算法,本文总结了几种常用加密方法的原理。 1 对称加密 原理:加密和解密数据使用同一个密钥,适合对大量数据进行加解密 安全性:关键是密钥的保存方式...

HiBlock
11分钟前
0
0
zookeeper基本常识

一、Zookeeper基础知识 1 zookeeper是一个类似hdfs的树形文件结构,zookeeper可以用来保证数据在(zk)集群之间的数据的事务性一致。2 zookeeper有watch事件,是一次性触发的,当watch监视的数...

啃不动地大坚果
16分钟前
0
0
Forrester企业级容器平台权威排行出炉,小初创Rancher缘何成为领导者?

全球著名的调研机构Forrester Research近日发布了《The Forrester New Wave: Enterprise Container Platform Software Suites, Q4 2018》报告,对企业级容器平台(ECP)市场进行全面评估,希...

RancherLabs
20分钟前
0
0
【三 异步HTTP编程】 2. 流式HTTP响应

标准响应及Content-Length头 自HTTP1.1以来,服务器为了在一个链接中处理多个HTTP请求及响应,必须随response一起返回合适的Content-Length值。 默认情况下,对于简单请求你无需返回 Conten...

Landas
55分钟前
0
0
Java后端技术栈,到底如何深入学习?

Java,是现阶段中国互联网公司中,覆盖度最广的研发语言。有不少朋友问,如何深入学习Java后端技术栈,今天分享一个,互联网牛人整理出来的Java深入学习路线图,以及免费学习资料。 一 。性能...

别打我会飞
58分钟前
1
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部