一:保证python运行环境安装

apt-get install python

如果需要进行开发则还要安装python-dev

apt-get install python-dev

二:安装django

首先保证安装了pip包

利用pip进行django安装

pip install django

三:安装nginx

studo apt-get install nginx

nginx的服务启动与关闭

/etc/init.d/nginx start

/etc/init.d/nginx stop

/etc/init.d/nginx restart

同时nginx的配置文件路径为/etc/nginx/nginx.conf

在配置文件中可以修改端口等相关参数

修改完成后访问nginx服务保证服务可用,如出现以下界面则表示服务可用

四:安装uwsgi

root@ubuntu:/etc# python3 -m pip install uwsgi

五:在web目录下建立uwsgi的配置文件用以打通django与nginx的服务

例如在web根目录下建立:loveservice_wsgi.ini文件

配置文件内容如下:

[uwsgi]

socket =127.0.0.1 :8000      指定端口号

# Django-related settings

# the django project directory (full path)

chdir= /python_dev/wwwroot/loveservice    网站目录

# Django's wsgi file

module = loveservice.wsgi    网站目录下django的wsgi文件

# process-related settings

# master

master          = true

# maximum number of worker processes

processes       = 2

threads = 2

max-requests = 6000

# ... with appropriate permissions - may be needed

chmod-socket    = 664

# clear environment on exit

vacuum          = true

六:在web根目录下建立uwsgi_params文件

文件内容可以从https://github.com/nginx/nginx/blob/master/conf/uwsgi_params复制

内容如下:

 
 

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;

七:编缉/etc/nginx/nginx.conf

在http的节点下添加以下内容:

upstream django {

# server unix:///path/to/your/mysite/mysite.sock; # for a file socket

server 127.0.0.1:8001; # for a web port socket (we'll use this first)

}

server{

listen   8080;     网站访问端口

server_name  localhost;

charset   utf-8;

location / {

include /python_dev/wwwroot/loveservice/uwsgi_params;   指定uwsgi_params文件位置

client_max_body_size 75M;

location /media  {

uwsgi_pass  django;

alias /python_dev/wwwroot/loveservice;    指定网站目录

}

uwsgi_pass 127.0.0.1:8000;     与ini文件中的端口号保持一致

uwsgi_read_timeout 2;

}

location /static{

expires 30d;

autoindex on;

add_header cache-control private;

alias /python_dev/wwwroot/loveservice/collectstatic;   指定静态文件目录

}

注意: 配置为location /static   而非 location /static/,按后者配置将无法找到配置文件

八:编缉网站下setting.py文件

修改以下内容:

DEBUG = False

ALLOWED_HOSTS = ['*']

'DIRS': [os.path.join(BASE_DIR, 'templates')]

STATIC_URL = '/static/'

STATIC_ROOT = os.path.join(BASE_DIR, "collectstatic")

STATICFILES_DIRS = (

os.path.join(BASE_DIR, "static"),

)

说明:STATIC_ROOT = os.path.join(BASE_DIR, "collectstatic")

collectstatic名称可以为任意名称,在执行python manage.py collectstatic时django将自动建立该名称目录,并将静态文件从static目录复制到该目录下

同时注意修改nginx的静态文件目录路径

python manage.py collectstatic

九:对网站目录授权在测试中可以采用类似chown -R 755 test的方法保证文件有权读取执行,在生产环境中在根据具体需要调整权限,否则容易出现读取静态资源时403的错误信息,导致静态资源无法加载

九:uwsgi服务:

返回到ini配置文件所在的目录下,执行以下命令:

uwsgi --ini  loveservice_wsgi.ini

执行过程中如无报错信息将如下所示

让nginx重新读取配置文件:

/etc/init.d/nginx reload

十:访问django服务:端口为nginx.conf中配置的端口,在本例中为8080端口,http://127.0.0.1:8080

如可以下常显示图片等静态资源则表示配置已生效服务已经成功启动

ubuntu下部署django的更多相关文章

  1. Ubuntu 下部署asp.net运行环境

    在Ubuntu下部署asp.net运行环境,网上教程很多,基本都是编译Mono源码,然后安装jexus.但是可能是我最近RP不太好,编译Mono源码一直都是失败,无奈之下只好找另外的方法安装了. 网上 ...

  2. Linux 下部署Django项目

    Linux 下部署Django项目   说明:本文所使用的环境为CentOS 6+Python2.7+Django1.11 安装Django.Nginx和uWSGI 1.确定已经安装了2.7版本的Py ...

  3. Linux:Ubuntu下部署Web运行环境

    Linux:Ubuntu下部署Web运行环境 本次博客将会从三部分内容详述Ubuntu系统下Web运行环境的配置: 依次是:FTP服务器的搭建.MYSQL数据库的搭建.JDK的安装等. 参考文章如下: ...

  4. centos 下部署django nginx+uwsgi

    为了建立一个工作站,也是麻烦了.... 感谢该博主: https://www.cnblogs.com/levelksk/p/7921066.html 1.安装centos 后首先安装python,下载 ...

  5. 基于Nginx和uWSGI在Ubuntu上部署Django项目

    前言: 对于做Django web项目的童鞋,重要性不言而喻. 参考:https://www.cnblogs.com/alwaysInMe/p/9096565.html https://blog.cs ...

  6. Ubuntu下部署java JDK和eclipse IDE

    安装Java编程开发环境: Ubuntu默认安装openjava,可以通过java -version查看是否安装.但我使用Ubuntu9.10升级到10.04LTS时,openjava没有了.另外,如 ...

  7. Ubuntu环境下部署Django+uwsgi+nginx总结

    前言 这是我在搭建Django项目时候的过程,拿来总结记录,以备不时之需. 项目采用nginx+uwsgi的搭配方式. 项目依赖包采用requirements.txt文件管理的方式. 本地准备工作 确 ...

  8. Ubuntu+uWSGI部署Django项目【鸿篇巨制,事无巨细】

    背景 任务: 视频翻译项目需要在两个服务器上进行通信(国内&海外的阿里服务器). 因为python是主语言,选用了Django 来快速部署API. 注:Django中文文档:https://d ...

  9. 用wfastcgi在IIS下部署Django&Flask

    Django跟Flask在Linux底下都可以很方便地以FastCGI模式部署,貌似IIS下面不很好配置,而且IIS也缺少一个像PHPmanager一样的全自动配置工具,在公司服务器上部署起来颇费周折 ...

随机推荐

  1. 性能测试工具Locust的使用----TaskSet类~~task任务嵌套

    内容来自网络 http://blog.sina.com.cn/s/blog_a7ace3d80102w9r0.html TaskSet类 正如字面意思,TaskSet类定义了每个用户的任务集合,测试任 ...

  2. 苹果软件App上架问题

    0.官方网站 开发者中心 itunes connect 优酷 哔哩哔哩 腾讯视频 1.上架流程 1.1 开发者账号申请 2017年苹果企业开发者账请完号申整指南 iOS开发之苹果开发者账号注册申请流程 ...

  3. [Objective-C语言教程]决策结构(10)

    决策结构要求程序员指定一个或多个要由程序评估或测试的条件,以及在条件被确定为真时要执行的一个或多个语句,以及可选的,如果条件要执行的其他语句 被认定是假的. 以下是大多数编程语言中的典型决策结构的一般 ...

  4. ios 相机 自定义 相片的截取

    前段时间公司需要做一个身份识别的功能,而系统相机无法满足要求,so自己自定义了. 上代码: .h文件 #import <UIKit/UIKit.h> #import <AVFound ...

  5. mysql 代价

    mysql cbo cost base optimizer 基于代价,数据是一直变化的oracle8 以前是rbo rule base optimizer 基于规则, 如果sql使用了索引,必须使用索 ...

  6. 10分钟教你用Python实现微信自动回复

    01 前言&&效果展示 相信大家都有忙碌的时候,不可能一直守在微信上及时回复消息.但微信又不能像QQ一样设置自动回复.无妨,今天,我们就来用Python实现微信的自动回复功能吧,并且把 ...

  7. P4304 [TJOI2013]攻击装置 最小割

    $ \color{#0066ff}{ 题目描述 }$ 给定一个01矩阵,其中你可以在0的位置放置攻击装置. 每一个攻击装置(x,y)都可以按照"日"字攻击其周围的8个位置(x-1, ...

  8. ubuntu 使用ifupdown 进行高级网络设置

    ifupdown ubuntu 本身支持linux的网络底层设置命令:ifconfig,route,ip 等命令,但为了让网络设置更加简单,Debian 提供了一个标准的高级网络设置工具,包含 ifu ...

  9. jquery选项卡效果

    效果图: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  10. 洛谷 P3975 / loj 2102 [TJOI2015] 弦论 题解【后缀自动机】【拓扑排序】

    后缀自动机入门. 题目描述 为了提高智商,ZJY 开始学习弦论. 这一天,她在<String theory>中看到了这样一道问题:对于一个给定的长度为 \(n\) 的字符串,求出它的第 \ ...