环境:
系统:ubuntu12,系统自带默认有python2.7
框架:Django1.8.4,需要python2.7以上才能支持
 
前言:
用户浏览器发送http请求->nginx(静态文件js,直接返回静态文件)->uWSGI(动态请求,nginx与uWSGI是通过socket传送交流的)->Django应用程序,所以其实没有nginx,只需要uWSGI也是可以的,只不过使用nginx可以更加好的做到负载均衡
 
一、静态文件处理
1.1、在Django的编写调试阶段,setting中所都是Debug=True,方便输出一些错误信息,在发布的时候,需要将Debug设置为False。
1.2、所有的静态文件js、css、image都放在对应的app的static中,需要将setting中做设置:
Django会去每个app的static中寻找对应的静态文件,直到找到之后不再往下寻找,所以,如果有多个app,js都是直接的放在了对应的app的static文件夹下,出现同名的时候,有可能会找错,解决办法是:每个static文件再套一层app的名字文件夹,这样可以保证不会找错。
1.3、当Django发布的时候,执行命令python collectstatic
将所有的app static文件夹下的文件copy一份到STATIC_ROOT文件夹中,一般都为根目录下创建一个static文件夹。
这样做的目的是方便apache或者nginx等服务器的部署.
1.4、部署服务器时,Django的静态文件是交给服务器来管理,而动态请求则交给Django处理。所以需要在Django下创建两个文件夹static:用来保存js等静态文件,media:用来保存比较大的媒体文件,例如video。
 
二、安装并创建Django项目:
1、安装pip
 
2、安装Django
 
3、新建一个Django项目hello,并创建app,创建app的static和根目录的static、media文件夹,注意给media设置权限777,有的时候可能会因为权限的问题导致向media上传文件失败
创建app
创建根目录static、media
创建app static
先运行项目,单独运行项目的时候不能有报错,如果有保存缺少安装module,则使用pip安装对应的module即可。
 
三、安装uwsgi
1、安装uwsgi、python-devel等等
 
2、配置uwsgi
在hello项目先新建一个uwsgi.ini文件
写入一下内容,具体含义看对应的链接
注意sockt的端口,待会需要和nginx相同,才能将他们关联起来
daemonize = var/log/uwsgi/uwsgi.log,也就是将后台启动uwsgi,并将log写入到对应的文件夹下,uwsgi的启动和关闭是比较麻烦的,需要通过写脚本的方式来处理关闭和启动
 
三、安装nginx
1、安装nginx
 
2、配置nginx
nginx目录下的文件
进入sites-available
创建一个站点hello.conf,并写入一下内容,具体含义看连接
其中:
1、location /media,location /static :media和static请求都是直接ngnix处理
2、/ uwsgi_paa unix:///tmp/hello.sock :动态请求传递给uWSGI
 
3、激活这个网站
 
4、测试一下配置是否有错
 
5、启动nginx 和uwsgi
 
6、启动uwsgi,执行刚才的uwsgi配置文件
 
 
 

ubuntu12上部署Django1.8.4+uwsgi+nginx超级详细流程配置到云服务器的更多相关文章

  1. Django Linux环境下部署CentOS7+Python3+Django+uWSGI+Nginx(含Nginx返回400问题处理、防火墙管理)

    本文将介绍如何在Linux系统上部署Django web项目,本次部署基于下面的架构: CentOS7+ Python3.5 + Django1.11 + uWSGI + Nginx 亲测可行!!按照 ...

  2. 在centos7.6上部署前后端分离项目Nginx反向代理vue.js2.6+Tornado5.1.1,使用supervisor统一管理服务

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_102 这一次使用vue.js+tornado的组合来部署前后端分离的web项目,vue.js不用说了,前端当红炸子鸡,泛用性非常广 ...

  3. 【史上最全】申请配置阿里云服务器,并部署IIS和开发环境,项目上线经验

    最近一年在实验室做web后端开发,涉及到一些和服务器搭建及部署上线项目的相关经验,写个帖子和小伙伴们分享,一同进步! 首先谈一下,为什么越来越多中小型公司/实验室,部署项目的趋势都是在云服务器而不是普 ...

  4. nginx安装与fastdfs配置--阿里云

    上一篇文章:fastDFS 一二事 - 简易服务器搭建之--阿里云 做了fastDFS的服务安装和配置,接下来我们来看nginx的安装 第一步:安装nginx需要安装的一些环境: 1.例如: yum ...

  5. 【配置阿里云 I】申请配置阿里云服务器,并部署IIS和开发环境,项目上线经验

    https://blog.csdn.net/vapaad1/article/details/78769520 最近一年在实验室做web后端开发,涉及到一些和服务器搭建及部署上线项目的相关经验,写个帖子 ...

  6. hexo自动部署到git、ftp(虚拟主机等)、云服务器的方式

    自动部署很有用,当你写完文章后,直接使用hexo d就可以自动更新你的网站了 部署到git 首先你需要在你的blog下安装git deployer插件:npm install hexo-deploye ...

  7. python版本随意切换之python2.7+django1.8.7+uwsgi+nginx源码包部署。

    资源准备: wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz wget https://www.djangoproject ...

  8. 在nginx上部署django项目--------Gunicorn+Django+nginx+mysql

    一.安装nginx 以前的博客我有写,这里就不写了 http://www.cnblogs.com/wt11/p/6420442.html 二.安装mysql 我用的mysql5.7  64位的二进制包 ...

  9. centos+uwsgi+nginx+python+django服务器安装配置

    1.ssh登录后使用fdisk –l查看需要格式化硬盘的名称: 2.运行fdisk /dev/vdb,对数据盘进行分区,按照提示,依次输入n,p,1,两次回车,wq,分区开始.(注意数据盘的名称,和阿 ...

随机推荐

  1. 【Codeforces】894D. Ralph And His Tour in Binary Country 思维+二分

    题意 给定一棵$n$个节点完全二叉树,$m$次询问,每次询问从$a$节点到其它所有节点(包括自身)的距离$L$与给定$H_a$之差$H_a-L$大于$0$的值之和 对整棵树从叶子节点到父节点从上往下预 ...

  2. Arcgis for javascript不同的状态下自定义鼠标样式

    俗话说:爱美之心,人皆有之.是的,没错,即使我只是一个做地图的,我也希望自己的地图看起来好看一点.在本文,给大家讲讲在Arcgis for javascript下如何自定义鼠标样式. 首先,说几个状态 ...

  3. 人生苦短之我用Python篇(遍历、函数、类)

    #遍历 info = {'key1':'value1','key2':'value2','key3':'value3'} #方式一 for i in info: print(i,info[i]) #方 ...

  4. python 绘图---2D、3D散点图、折线图、曲面图

    python中绘制2D曲线图需要使用到Matplotlib,Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形,通过 Matplo ...

  5. E: Could not get lock /var/lib/dpkg/lock解决

    ubuntu常见错误--Could not get lock /var/lib/dpkg/lock解决 通过终端安装或卸载程序sudo apt-get install/autoremove xxx时出 ...

  6. Linux系统中的wc

    Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数.字数.行数,并将统计结果显示输出. 1.命令格式: wc [选项]文件... 2.命令功能: 统计指定文件中的字节数. ...

  7. bzoj 2734 集合选数

    Written with StackEdit. Description <集合论与图论>这门课程有一道作业题,要求同学们求出\(\{1, 2, 3, 4, 5\}\)的所有满足以 下条件的 ...

  8. Python使用教程

    1.下载python windows:http://www.python.org/download/ 2.环境变量: 3.pycharm下载:http://www.python.org/downloa ...

  9. IDEA Intellij中vim插件使用小技巧

    在 IDEA Intellij小技巧和插件 一文中简单介绍了一下IdeaVim插件.在这里详细总结一下这个插件在日常编程中的一些常用小技巧.供有兴趣使用这个插件,但对Vim还不十分熟悉的朋友参考.当然 ...

  10. Struts2常用标签总结

    Struts2常用标签总结 一 介绍 1.Struts2的作用 Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的 ...