一.介绍

Django的部署有多种方式,采用Nginx+uWSGI的方式是最常见的一种方式。在这种方式中,将Nginx作为服务器前端,接收Web的所有请求,统一管理请求。Nginx自己处理所有静态请求,所有非静态请求通过uWSGI传递给Django,由Django来进行处理,从而完成一次Web请求。

Django工程创建:Django Web框架入门

二.安装配置

环境:Python(3.5.2)、Django(1.11.6)

1.安装pip

root@787c084a44e4:~# apt-get install -y python3-pip

2.安装uWSGI

root@787c084a44e4:~# python3 -m pip install uWSGI

3.安装Django

root@787c084a44e4:~# python3 -m pip install Django

4.安装Nginx

root@787c084a44e4:~# apt-get install -y nginx

5.通过文件配置uwsgi,新建文件/root/web/uwsgi.ini

[uwsgi]
# 监听IP和端口
socket = 127.0.0.1:
# 项目主目录
chdir = /root/web/Django
# uwsgi文件路径
module = Django.wsgi:application
# 允许主进程存在
master = True
# 开启的进程数
workers =
# 服务器退出时自动清除环境
vacuum = True
# 设置工作进程请求上限
max-requests =
# 记录主进程的pid
pidfile = /var/uwsgi.pid
# 使进程在后台运行
daemonize = /var/uwsgi.log

6.配置nginx虚拟主机,新建文件/etc/nginx/sites-enabled/django.conf

# nginx需要连接的后端代理
upstream django {
server 127.0.0.1:;
} # 虚拟主机配置
server {
# 监听端口
listen ;
# 域名
server_name 127.0.0.1;
# 编码
charset utf-;
# 静态文件路径
location /static {
alias /root/web/Django/static;
}
# 将动态请求转发到uwsgi运行的django程序
location / {
uwsgi_pass django;
include /etc/nginx/uwsgi_params;
}
}

7.修改nginx默认运行用户,修改/etc/nginx/nginx.conf文件,user www-data修改为user root

三.验证部署

运行工程

root@787c084a44e4:~/web# uwsgi --ini uwsgi.ini & nginx

访问地址http://127.0.0.1:8080/list,数据和页面css样式正常

四.异常情况

1.出现DisabllowedHost

修改Django/Django/settings.py文件

ALLOWED_HOSTS = ["*"]

2.出现静态文件403异常

Nginx使用www-data用户运行,无web目录读取权限,修改/etc/nginx/nginx.conf文件,user www-data修改为user root

Django+Nginx+uWSGI部署的更多相关文章

  1. ubuntu+Django + nginx + uwsgi 部署

    ubuntu+Django + nginx + uwsgi 部署 0.前期准备 注意:以下几件事都必须在激活虚拟环境下完成 运行以下命令生成项目所需的依赖列表,会在项目根目录生成一个requireme ...

  2. Django+nginx+uwsgi部署教程(centos7+ubuntu16.4)

    在线教育平台项目演示地址 项目部署教程 1.1.工作原理介绍 django 一个基于python的开源web框架 uwsgi 一是一个web服务器,也可以当做中间件 nginx 常用高性能代理服务器 ...

  3. Django+nginx+uwsgi部署教程

    00-所需工具 xshell:https://www.netsarang.com/zh/downloading/?token=ZlZnVUNsWDJuM0VaZnVPUjZST1dwd0AzYlNte ...

  4. centos django+Nginx+uwsgi部署

    第五天 部署python3+uwsgi+nginx的博客系统 ================================ mysql基本命令 mysql mysql -p mysqladmin ...

  5. django+nginx+uwsgi 部署配置

    django官方文档在这 https://docs.djangoproject.com/en/1.9/howto/deployment/wsgi/uwsgi/ 第一步:先收集静态文件 之前要先设置 S ...

  6. 填坑!!!virtualenv 中 nginx + uwsgi 部署 django

    一.为什么会有这篇文章 第一次接触 uwsgi 和 nginx ,这个环境搭建,踩了太多坑,现在记录下来,让后来者少走弯路. 本来在 Ubuntu14.04 上 搭建好了环境,然后到 centos7. ...

  7. nginx + uwsgi 部署 Django+Vue项目

    nginx + uwsgi 部署 Django+Vue项目 windows 本地 DNS 解析 文件路径 C:\Windows\System32\drivers\etc 单机本地测试运行方式,调用dj ...

  8. Python3.6+nginx+uwsgi部署Django程序到阿里云Ubuntu16.04系统

    Python3.6+nginx+uwsgi部署Django程序到阿里云Ubuntu16.04系统 这个是写好的Django程序在本地机运行的情况,一个查询接口. 准备工作 1.首先购买一台阿里云的EC ...

  9. CentOS上部署Django+Nginx+Uwsgi环境

    在CentOS上部署Django+Nginx+Uwsgi环境 奇谭  2016-09-01 评论  Linux  python django nginx uwsgi VirtualEnv的作用:创建隔 ...

随机推荐

  1. JSP第七篇【简单标签、应用、DynamicAttribute接口】

    为什么要用到简单标签? 上一篇博客中我已经讲解了传统标签,想要开发自定义标签,大多数情况下都要重写doStartTag(),doAfterBody()和doEndTag()方法,并且还要知道SKIP_ ...

  2. 如何用SQL实现组内前几名的输出

    关于问题 如何查询组内最大的,最小的,大家或许都知道,无非是min.max的函数使用.可是如何在MySQL中查找组内最好的前两个,或者前三个? 什么是相关子查询 在提出对于这个问题的对应方法之前,首先 ...

  3. mongoose api 图表整理

    一.背景 今天看 mongoose 的基础 API,参考了下面的链接做了图表以供查阅. 参考资料: http://www.cnblogs.com/xiaohuochai/p/7215067.html ...

  4. 【Debian 8.8】Java 8 安装以及环境变量配置

    事实上可以分为简单的三个步骤: 下载 JDK 压缩包 解压压缩包 配置环境变量 需要注意的是: 所有命令默认在 root 权限下进行! 演示环境是 Debian 8.8 64位 (阿里云学生机) 1. ...

  5. Elipse中发布一个Maven项目到Tomcat

    对于maven初学者的我,经常遇到一个问题就是,maven项目创建成功后,本来已经添加了jar的依赖,但是发布到Tomcat中就是没有jar包存在, 启动Tomcat总是报没有找到jar包,可项目结构 ...

  6. 根据HttpServletRequest获取用户真实IP地址

    原因: 当我们通过request获取客户端IP时,自身服务器通常会为了保护信息或者负载均衡的目的,对自身服务器做反向代理.此时如果我们通过request.getRemoteAddr();可能获取到的是 ...

  7. 百度富文本编辑器Ueditor使用

    首先我们登上ueditor下载,可以看到多种版本. UBuilder:可以自己选择需要的工具. 我用的开发版,Java的jsp版本,在这里是全部工具,但是工具在配置文件中也是可以自己选择的. 下载下来 ...

  8. PHP中public、protected、private权限修饰符

    PHP中有三种访问修饰符 默认是public public(公共的.默认) protected(受保护的) private(私有的) 访问权限 public protected private 类内 ...

  9. PIC24 通过USB在线升级 -- USB HID bootloader

    了解bootloader的实现,请加QQ: 1273623966 (验证填bootloader):欢迎咨询或定制bootloader; 我的博客主页www.cnblogs.com/geekygeek ...

  10. Linux下搭建tomcat和jre的环境

    1.下载linux版本的tomcat和jre tomcat下载:http://pan.baidu.com/s/1nt7D87J: jre下载:http://pan.baidu.com/s/1sj4hA ...