nginx 基于uwsgi部署Django

1.安装nginx

yum install -y nginx(需要epel源)

2.安装环境

可以考虑使用虚拟化环境,本处不再使用

3.安装uwsgi

yum groupinstall "Development tools"
yum install zlib-devel bzip2-devel pcre-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel
pip install uwsgi

4.安装django

pip install django==1.11

5.创建django项目

django-admin startproject mysite

6.创建app

python manage.py startapp app01

7.修改mysite/settings.py

ALLOWED_HOSTS = [‘*‘]

8.修改mysite/urls.py

from app01 import views
urlpatterns = [
    url(r‘^admin/‘, admin.site.urls),
    url(r‘^hello_django/‘, views.hello),
]

9.修改app01/views.py

from django.shortcuts import render,HttpResponse

# Create your views here.
def hello(request):
    print(‘request is :‘,request)
    return HttpResponse(‘django is ok ‘)

10.启动程序

uwsgi --http :8000 --module mysite.wsgi

11.uwsgi配置文件

uwsgi支持ini、xml等多种配置方式,本文以 ini 为例, 在/etc/目录下新建uwsgi_nginx.ini,添加如下配置:

[uwsgi]
http = :8000
#the local unix socket file than commnuincate to Nginx
socket = 0.0.0.0:8000
# the base directory (full path)
chdir = /data/mysite
# Django‘s wsgi file
wsgi-file = mysite/wsgi.py
# maximum number of worker processes
processes = 4
#thread numbers startched in each worker process
threads = 2
# clear environment on exit
vacuum          = true
daemonize = /data/mysite/uwsgi.log
py-autoreload=1

11.准备配置文件

uwsgi_param  QUERY_STRING       $query_string;
uwsgi_param  REQUEST_METHOD     $request_method;
uwsgi_param  CONTENT_TYPE       $content_type;
uwsgi_param  CONTENT_LENGTH     $content_length;

uwsgi_param  REQUEST_URI        $request_uri;
uwsgi_param  PATH_INFO          $document_uri;
uwsgi_param  DOCUMENT_ROOT      $document_root;
uwsgi_param  SERVER_PROTOCOL    $server_protocol;
uwsgi_param  REQUEST_SCHEME     $scheme;
uwsgi_param  HTTPS              $https if_not_empty;

uwsgi_param  REMOTE_ADDR        $remote_addr;
uwsgi_param  REMOTE_PORT        $remote_port;
uwsgi_param  SERVER_PORT        $server_port;
uwsgi_param  SERVER_NAME        $server_name;

12.修改配置文件权限

chown nginx.root uwsgi_params

13.修改nginx配置文件

location / {
        include  /data/mysite/conf/uwsgi_params;
        uwsgi_pass 127.0.0.1:8000;
            root   html;
            index  index.html index.htm;
        }
        }
location /static{
     alias /data/mysite/static;   
 }
     #nginx处理媒体资源
location /media{
     alias /data/mysite/media;  
 }

14.执行命令迁移nginx静态文件

STATIC_ROOT = os.path.join(BASE_DIR, "static/")
python manage.py collectstatic

15.查看效果

原文地址:http://blog.51cto.com/wangfeng7399/2341281

时间: 2024-12-10 11:38:45

nginx 基于uwsgi部署Django的相关文章

nginx基于uwsgi部署Django (单机搭建)

nginx基于uwsgi部署Django (单机搭建) 参考链接: https://blog.51cto.com/wangfeng7399 https://blog.51cto.com/wangfeng7399/2341281 https://blog.csdn.net/shylonegirl/article/details/83030024 安装nignx yum -y install nginx (需要epel源) 安装依赖包 yum groupinstall "Development to

nginx基于uwsgi部署Django

1.安装nginx yum install -y nginx(需要epel源) 2.安装uwsgi yum groupinstall "Development tools" yum install zlib-devel bzip2-devel pcre-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel python-devel pip install uwsgi 3.安装django pip i

跨过Nginx上基于uWSGI部署Django项目的坑

先说说他们的关系,Nginx和uWSGI都是Web服务器,Nginx负责静态内容,uWSGI负责Python这样的动态内容,二者配合共同提供Web服务以实现提高效率和负载均衡等目的.uWSGI实现了多个协议,如WSGI,HTTP协议,还有它自己的uwsgi协议,想了解更多关于uWSGI和uwsgi协议内容可以查阅这里.这样和fastcgi类似,请求和响应的流程如下: Request > Nginx > uWSGI > Django > uWSGI > Nginx > R

使用supervisor管理nginx和uwsgi部署django项目

使用yum  install  supervisor ,该命令不会产出配置文件 需要执行下条命令: [[email protected]_0_17_centos ~]# echo_supervisord_conf  >  /etc/supervisord.conf 然后添加配置信息,则可以管理服务器了 然后编辑 /etc/supervisord.conf 加上program [program:my_project] command = uwsgi ­­ini /data/my_project/u

nginx + uwsgi 部署 Django+Vue项目

nginx + uwsgi 部署 Django+Vue项目 windows 本地 DNS 解析 文件路径 C:\Windows\System32\drivers\etc 单机本地测试运行方式,调用django第三方的wsgifef单机模块,性能很低 python3 manage.py runserver 0.0.0.0:8000 使用uwsgi 去启动django项目,支持并发更多 准备前后端代码 先从vue前端搞起 解决node环境 更改vue发送请求的接口地址, 这个vue发送的地址,应该是

使用Nginx和uwsgi部署Flask项目

前言 之前用Flask框架开发了一个Python的Web项目,使用Nginx和uWSGI部署起来感觉挺麻烦,过程中还因为对Flask框架的不熟悉,花了好长时间才把应用完全部署起来.下面分享部署成功的相关配置以及部署Flask项目时极可能犯的一个小错误. 一. 配置 1. Flask Web项目源码 Nginx使用的版本是1.6.1,uWSGI是2.0.8,Flask是0.10.1.在Linux环境下安装好Nginx.uWSGI和Flask之后,将使用Flask框架开发的web项目源码放到Linu

使用Nginx+uWSGI部署Django项目

1.linux安装python3环境 参考链接:https://www.cnblogs.com/zzqit/p/10087680.html 2.安装uwsgi pip3 install uwsgi ln -s /usr/local/python3/bin/uwsgi /usr/local/bin/uwsgi #建立软链接 uwsgi --version #检查安装成功 3.基于uwsgi+django项目部署 django项目目录结构(orange_manage为app): uwsgi --ht

生产环境使用Nginx+uwsgi部署Django

在本地运行django应用相对来说还是挺方便的,使用自带的runserver启动即可.如果在生产环境部署django,就要多考虑一些问题了.比如静态文件处理,安全,效率等等 在网上找到了不错的部署的教程,讲解的还是很详细的,我就不重新再整理了. 五步教你实现使用Nginx+uWSGI+Django方法部署Django程序(上) – Django中国社区五步教你实现使用Nginx+uWSGI+Django方法部署Django程序(下) – Django中国社区 但是作为记录,我还是要记录下部署中遇

nginx+uwsgi部署django项目

操作可参考http://www.linuxyw.com/353.html (nginx+uwsgi+django+python环境部署文档) 这里只说明几点我的配置 环境: Nginx版本:1.7.9 Django版本: 1.6.8 Python版本:2.7.5 Uwsgi版本:2.0.9 安装MySQL-python: 最好源码安装,yum install -y MySQL-python可能因为路径问题import MySQLdb失败,下载地址: http://sourceforge.net/