ubuntu12上部署Django1.8.4+uwsgi+nginx超级详细流程配置到云服务器

环境:

系统: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文件

写入一下内容,具体含义看对应的链接

http://blog.csdn.net/chenggong2dm/article/details/43937433

http://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html

注意sockt的端口,待会需要和nginx相同,才能将他们关联起来

daemonize = var/log/uwsgi/uwsgi.log,也就是将后台启动uwsgi,并将log写入到对应的文件夹下,uwsgi的启动和关闭是比较麻烦的,需要通过写脚本的方式来处理关闭和启动

http://www.ziqiangxuetang.com/django/django-nginx-deploy.html使用supervisor来管理进程

三、安装nginx

1、安装nginx

2、配置nginx

nginx目录下的文件

进入sites-available

创建一个站点hello.conf,并写入一下内容,具体含义看连接

http://www.cnblogs.com/fnng/p/5268633.html

其中:

1、location /media,location /static :media和static请求都是直接ngnix处理

2、/ uwsgi_paa unix:///tmp/hello.sock :动态请求传递给uWSGI

3、激活这个网站

4、测试一下配置是否有错

5、启动nginx 和uwsgi

6、启动uwsgi,执行刚才的uwsgi配置文件

时间: 2024-12-24 08:29:17

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

Django 部署 CentOS7+Python3+Django+uWSGI+Nginx(含Nginx返回400问题处理、防火墙管理)

本节将介绍如何部署Django,基于下面的架构: CentOS7+ Python3 + Django1.11 + uWSGI + Nginx. 首先,你得安装CentOS或Redhat等Linux系统,物理机和虚拟机都行,如果是阿里云ECS主机并且带有独立公网IP,那就更好.我选用的是CentOS7,敬请参考. 至于如何安装CentOS.Python3(含虚拟环境)和Django1.11,不是本节的内容,请自行解决.下面我假定你已将安装好了这三者. 将Django项目移植到Linux系统中,进入

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.com/m/releases/1.8/Django-1.8.7.tar.gz wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9

在阿里云服务器上安装redis流程及常见错误

在阿里云服务器上部署redis,首先需要登陆远程登陆自己购买的阿里云服务器,购买及认证的过程就不说了,当时也是一个新手,啥都不懂,也不懂服务器,一步步按照说明才完成的,现在需要在阿里云服务器上安装redis,具体过程如下: 1,找到redis官网https://redis.io/的下载页面 复制链接地址,这里我下载的是最新的稳定版,然后进入服务器,在你想要放文件的目录下,使用wget命令进行下载 wget http://download.redis.io/releases/redis-4.0.9

Django部署——uwsgi+Nginx

Django部署——uwsgi+Nginx(超详细) 环境:python3.6centos 7Django1.11用Django写了个小网站,只能在自己本地跑一跑!这怎么行?听说可以部署在云服务器上,这样别人就可以访问了! biu~ 从哪儿开始?就从Django开始吧!老规矩,按步骤: 1.本地跑起来Django 这里不讲Django项目实施过程,假设你已经写了一个Django项目,并且在本地127.0.0.1:8000能够跑起来.喏,给你个参考,项目大概长这样: Django Project

Django+uWsgi+nginx部署

一.环境 操作系统:Ubuntu 14.04 64位 python:2.7.6 Django:1.8.2 项目源码:https://github.com/youchuancong/django.git 部署方式:Django+uWsgi+nginx 二.部署 1.Django安装 官网:https://www.djangoproject.com/ 安装 wget https://www.djangoproject.com/m/releases/1.8/Django-1.8.2.tar.gz ta

Django线上部署代码修改失效问题

记一次django项目的线上部署维护问题,django+nginx 关于nginx反向代理服务器的介绍这里有一篇博客介绍的比较好:nginx的相关介绍 以及当一次客户端请求发出后,uwsig以及uWSGI,Nginx之间的大致流程:uWSGI.WSGI和uwsgi 一.问题描述 在将django项目部署到阿里云(nginx作为web服务器)上之后,使用宝塔控制面板修改项目源码,或者使用直接在终端修改,修改之后重启uwsgi和nginx无效. 二.问题分析 1.本地环境 在本地环境的时候,是使用D

在 IPFS 上部署静态博客

本文主要记录在 IPFS 上部署博客的过程,用以熟悉 IPFS 的基本操作.https://ipfs.0ranga.com 就是博主博客在 IPFS 上部署的版本. IPFS 安装 IPFS 首先得在计算机上安装 IPFS,博主 PC 的操作系统的 Arch,可以直接使用包管理器进行安装.如果之后需要为博客添加域名则需要在云服务器上部署 IPFS,博主选择的是 DightOcean 的 CentOS 7.所以提供了以上两种操作系统的安装方式,其他系统如何安装请自行探索. 123456789101

在云服务器上部署自己的SpringBoot项目

在云服务器上部署自己的SpringBoot项目 因为正在开发一个个人的微信小程序项目,所以开始学习如何部署SpringBoot服务器,之前完全没有接触过部署服务器相关,只能从0开始摸索,网上各种文章杂乱得很,而且大多都语焉不详,完全跟不上作者的脑回路,所以摸索得非常痛苦! 所幸最后成功了,记录一下完整的步骤,造福后来的跟我一样的小白们. 部署步骤 云服务器的购买和配置 安装JDK 安装Tomcat 安装svn 安装Maven 打包SpringBoot项目 设置安全组 安装MySQL 服务器的代码

Vue+Flask部署到阿里云服务器

本文用于记录自己在阿里云部署Vue+Flask组合的详细过程. 在阿里云部署Vue+Flask组合的前提是已经在自己电脑上成功部署,参考:https://minatsuki-yui.github.io/2018/01/04/vue&flask/?from=timeline 阿里云ECS建网站基础配置,参考:https://www.jianshu.com/p/2604e53a7f6a?from=singlemessage Python环境配置 阿里云服务器中已经存在Python2.7和Python