博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nginx 基于uwsgi部署Django
阅读量:5920 次
发布时间:2019-06-19

本文共 2813 字,大约阅读时间需要 9 分钟。

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-develpip 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 viewsurlpatterns = [    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 = 0.0.0.0:8000#the local unix socket file than commnuincate to Nginxsocket = /data/mysite/mysit.socket# the base directory (full path)chdir = /data/mysite# Django's wsgi filewsgi-file = mysite/wsgi.py# maximum number of worker processesprocesses = 4#thread numbers startched in each worker processthreads = 2# clear environment on exitvacuum          = truedaemonize = /data/mysite/uwsgi.logpy-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;        proxy_pass http://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;   }

ps: nginx 连接uwsgi一共有三种方式

方式一: uwsgi.ini 里面指定为http = 127.0.0.1:8000nginx的配置文件里面需要写proxy_pass http://127.0.0.1:8000;方式二:uwsgi.ini里面指定为socket = 127.0.0.1:8000nginx的配置文件需要写 include /etc/nginx/uwsgi.conf;uwsgi_pass 127.0.0.0:8000;方式三:uwsgi.ini里面指定为socket = /data/mysite/mysite.socketnginx的配置文件需要写 include /etc/nginx/uwsgi.conf;uwsgi_pass unix:/data/mysite/mysite.socket;

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

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

15.查看效果

转载于:https://blog.51cto.com/wangfeng7399/2341281

你可能感兴趣的文章
【转载】nginx反向代理(proxy_pass)tomcat的过程中,session失效的问题解决
查看>>
项目管理实践教程
查看>>
(转)DOTA新版地图6.78发布:大幅改动 增两位新英雄
查看>>
合成模式
查看>>
Primefaces框架开发杂谈!
查看>>
《scp 备份站点 笔记》连带邮件提醒
查看>>
Solaris 10u11 安装python2.7.10
查看>>
常用端口号大全(详细)
查看>>
我的友情链接
查看>>
工欲善其事必先利其器SecureCRT+VMware® Workstation_学习笔记
查看>>
文件和目录权限chmod,更改所有者和所属组chown,umask,隐藏权限lsattr/chattr
查看>>
阿里PB级Kubernetes日志平台建设实践
查看>>
怎么把无线由器限
查看>>
Java实现的冒泡排序
查看>>
APP中的第三方“支付”功能该如何测试
查看>>
HDU 1907
查看>>
数值积分中的辛普森方法及其误差估计
查看>>
Web service (一) 原理和项目开发实战
查看>>
跑带宽度多少合适_跑步机选购跑带要多宽,你的身体早就告诉你了
查看>>
SQL Over
查看>>