Django 生产环境部署-记录 nginx+uwsgi+Django

这几天一直研究django生产环境的部署,看了很多文章,都写的很好,有些时候只是环境不太一样,配置过程中出现了很多的问题,例如:

uwsgi  ---module   一直运行不起来,,加--file参数才可以。。。

----亲测可以运行-----

1.安装DJANGO,创建工程项目,确保python manage.py runserver 0.0.0.0:8080 能够正常启动

2.安装uwsgi ,

在你的机器上写一个test.py

# test.py
def application(env, start_response):
start_response(‘200 OK‘, [(‘Content-Type‘,‘text/html‘)])
return "Hello World"
然后执行shell命令:

uwsgi --http :8001 --file test.py
访问网页:

http://127.0.0.1:8001/

看在网页上是否有Hello World

3.测试uwsgi 与 Django 是否能够结合运行

uwsgi --http :8000 --chdir /opt/app/Django-1.9.2/django/MadKing/ --file wsgi.py

4.配置uwsgi 与 nginx 结合

nginx.conf配置:

server {
listen 53385;
server_name localhost;

#charset koi8-r;

#access_log logs/host.access.log main;
access_log /opt/app/Django-1.9.2/django/MadKing/access_log;
error_log /opt/app/Django-1.9.2/django/MadKing/error_log;

location / {
root html;
uwsgi_pass 127.0.0.1:3400;
include /usr/local/nginx-1.7.12/conf/uwsgi_params; # the uwsgi_params file you installed
index index.html index.htm;
}
location /static {

root /opt/app/Django-1.9.2/django/MadKing; # your Django project‘s static files - amend as required
}
#error_page 404 /404.html;

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

在Django工程下创建: madking_uwsgi.ini
madking_uwsgi.ini file
[uwsgi]

socket = 127.0.0.1:3400
# Django-related settings
# the django project directory (full path)
chdir = /opt/app/Django-1.9.2/django/MadKing
# Django‘s wsgi file
file = wsgi.py

# process-related settings
# master
master = true
# maximum number of worker processes
processes = 2

threads = 2
max-requests = 6000

# ... with appropriate permissions - may be needed
chmod-socket = 664
# clear environment on exit
vacuum = true
daemonize = /opt/app/Django-1.9.2/django/MadKing/uwsgi.log
----------------------------------------------------------------------------

启动 uwsgi --ini /opt/app/Django-1.9.2/django/MadKing/MadKing_uwsgi.ini

重启nginx ./nginx -s reload

时间: 2024-10-04 12:05:19

Django 生产环境部署-记录 nginx+uwsgi+Django的相关文章

线上生产环境部署Djngao+Nginx+Uwsgi

是否曾想过把django项目从windows移植到Linux上运行,Linux性能众所周知,作为Django运行的服务器再合适不过啦,今天分享一下如何在线上云机器的Linux环境运行Django项目. 客户端访问服务端的流程 1.首先客户端请求服务资源, 2.nginx作为直接对外的服务接口,接收到客户端发送过来的http请求,会解包分析. 3.如果是静态文件请求就根据nginx配置的静态文件目录,返回请求的资源,否则会根据django配置文件设置的static目录去找资源. 4.如果是动态的请

Django项目部署(nginx+uWSGI+django+virtualenv+supervisor发布web服务器 )

一.简介 WSGI是Web服务器网关接口.它是一个规范,描述了Web服务器如何与Web应用程序通信,以及Web应用程序如何链接在一起以处理一个请求,(接收请求,处理请求,响应请求) 基于wsgi运行的框架有bottle,DJango,Flask,用于解析动态HTTP请求 支持WSGI的服务器 wsgiref python自带的web服务器 Gunicorn 用于linux的 python wsgi Http服务器,常用于各种django,flask结合部署服务器. mode_wsgi 实现了Ap

Python Django 生产环境部署

在生产上部署Django Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. uwsgi介绍 uWSGI是一个Web服务器,它实现了WSGI协议.uwsgi.http等协议.Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换. 要注意 WSGI / uwsgi / uWSGI 这三个概念的区分. WSGI是一种Web服务器网关接口.它是一个Web服务器(如nginx,uWSGI等服务器)与web应用(如用Flask框架写的程序)

【python】Django web项目部署(Nginx+uwsgi)

一.安装uwsgi 通过pip安装uwsgi. pip install uwsgi 测试uwsgi,创建test.py文件: def application(env, start_response):     start_response('200 OK', [('Content-Type','text/html')])     return [b"Hello World"] 通过uwsgi运行该文件. uwsgi --http :8001 --wsgi-file test.py 常用

ubuntu 16.04 部署 pypy+nginx+uwsgi+django(详细)

1.nginx                                                                                                                                              安装nginx之前先安装python的pip,千万不能用pypy的pip,会容易破坏依赖关系,很难修复, sudo apt-get install nginx 因为,是自动安装,所以nginx的配置文件

nginx+uwsgi+django部署流程

当我们在用django开发的web项目时,开发测试过程中用到的是django自带的测试服务器,由于其安全及稳定等性能方面的局限性,django官方并不建议将测试服务器用在实际生产. nginx+uwsgi+django是我们常用的django部署方式.nginx作为最前端的服务器,他负责接收所有的客户端请求,对于请求的静态文件,由nginx服务器自己完成,因为它具有很好处理静态文件的能力,性能进行过优化,支持高并发量:uWSGI服务器作为支持服务器,是用来服务nginx的,nginx将请求的动态

Django + Uwsgi + Nginx 的生产环境部署

使用runserver可以使我们的django项目很便捷的在本地运行起来,但这只能在局域网内访问,如果在生产环境部署django,就要多考虑一些问题了.比如静态文件处理,安全,效率等等,本篇文章总结归纳了一下基于uwsgi+Nginx下django项目生产环境的部署 准备条件: 1.确保有一个能够用runserver正常启动的django项目 2.项目已上传到linux 3.linux上已部署好python环境,且已安装好项目所需的模块 安装uwsgi uwsgi是python的一个模块,安装u

debian完整部署 Nginx + uWSGI + Django

debian完整部署 Nginx + uWSGI + Django 手工部署一个Django服务器真心不容易,需要安装很多东西.从头开始搭建服务器,主要是为了梳理一下后续开发中一般为碰到的平台部署.对后续问题的解决有一定帮助. 通常部署有2中方式: 一种是使用现成提供的服务器包用apt-get这种方式安装的.这种方式比较简单,但没有新版本. 另外就是使用源代码自己编译安装,这种比较繁琐,但能选择适合的版本安装. 这里介绍的是第二种,使用源代码编译的版本进行安装部署. 部署测试环境: - wind

Nginx+uWSGI+Django部署web服务器

目录 Nginx+uWSGI+Django部署web服务器 环境说明 前言 搭建项目 Django部署 编辑luffy/luffy/settings.py 编辑luffy/app01/views.py 编辑luffy/luffy/urls.py 运行并测试 uWSGI部署 测试运行uWSGI 使用uWSGI运行django项目 uWSGi热加载Djangoa项目 部署nginx nginx配置uwsgi和django django部署static文件 重新加载nginx进行测试 测试nginx