`

使用nginx部署django应用

阅读更多

1、通过pip安装uwsgi

 

$sudo yum install python-devel
$sudo yum install python-pip
$sudo pip install pip --upgrade
$sudo yum install libpcre3 libpcre3-dev
$sudo yum install zlib1g-dev

 如果安装版本错误,先卸载:

 

 

$pip uninstall uwsgi
$sudo yum remove uwsgi

python 版本最好是python 2.7.*

 

pip的版本应该是最新版本。
查看pip 版本:

 

$ pip --version
pip 8.0.2 from /usr/lib/python2.7/site-packages (python 2.7)

 接下来安装uwsgi。

$sudo pip install uwsgi

 

 

 

2、检测django

$django-admin startproject hello //会新建一个目录hello
$python manage.py syncdb
$python manage.py runserver 0.0.0.0:8000

 验证django能否正常运行

 

 

3、检测uwsgi

在hello目录下新建wsgi,py

import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "hello.settings")

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

 然后运行uwsgi

$uwsgi --http :8000 --module hello.wsgi

 浏览器验证是否“It works”

 

 

4、配置uwsgi

配置一下项目的静态文件目录,因为静态文件不需要uwgsi执行

在hello目录下有个settings.py文件,在此文件加一行

STATIC_ROOT = os.path.join(BASE_DIR, "static/")

 

然后执行命令

$python manage.py collectstatic

 

新建/etc/hello_uwsgi.ini

    # mysite_uwsgi.ini file
    [uwsgi]

    socket = 127.0.0.1:3400
    # Django-related settings
    # the django project directory (full path)
    chdir           = /root/project/hello
    # Django's wsgi file
    module          = hello.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
    daemonize = /root/project/hello/uwsgi.log

  启动uwsgi

uwsgi --ini hello_uwsgi.ini

 

 

4、配置nginx

新加一个nginx配置,,mysite.ini

server {
# the port your site will be served on
listen      8000;
# the domain name it will serve for
server_name localhost; # substitute your machine's IP address or FQDN
charset     utf-8;

access_log /root/project/hello/access_log;
error_log  /root/project/hello/error_log;

# max upload size
client_max_body_size 75M;   # adjust to taste

# Django media
#location /media  {
#    alias /to/your/mysite/media;  # your Django project's media files - amend as required
#}

location /static {

alias /root/project/hello/static; # your Django project's static files - amend as required
}

# Finally, send all non-media requests to the Django server.
location / {

    uwsgi_pass 127.0.0.1:3400;
    include    /etc/nginx/uwsgi_params; # the uwsgi_params file you installed

}

 然后重启nginx,搞定

 

1
3
分享到:
评论

相关推荐

    Ubuntu系统Daphne + Nginx部署Python Django项目精讲【含代码说明】

    在本教程中,我们将深入探讨如何在Ubuntu系统上使用Daphne和Nginx部署Python Django项目,同时利用Supervisor进行进程管理。首先,Django 3.0开始支持ASGI(Asynchronous Server Gateway Interface)应用程序,使得...

    五步教你实现使用Nginx+uWSGI+Django方法部署Django程序1

    五步教你实现使用Nginx+uWSGI+Django方法部署Django程序 本文主要介绍如何使用Nginx+uWSGI+Django方法部署Django程序,通过五个步骤来详细阐述uwsgi+django的部署方式。下面是相关的知识点: 1. 环境介绍 在部署...

    nginx部署django,实现常用网站功能:文件上下传,文本复制,网站展示.zip

    本教程将详细介绍如何使用Nginx部署Django,实现包括文件上传、文本复制以及网站展示在内的常见网站功能。 首先,我们需要在服务器上安装必要的软件包。对于Nginx和Django,你需要确保系统中已经安装了Python、pip...

    解决nginx+uwsgi部署Django的所有问题(小结)

    本篇文章将详述如何解决使用Nginx和uWSGI部署Django应用过程中遇到的问题。 首先,Nginx是一个轻量级的HTTP服务器和反向代理服务器,它的特点是性能高效、稳定,并且配置简单。在Django应用部署中,Nginx主要负责...

    uwsgi+daphne+Nginx+supervisor部署Django

    uwsgi+daphne+Nginx+supervisor部署Django 在本文中,我们将详细介绍如何使用 uwsgi、daphne、Nginx 和 supervisor 部署 Django 项目。这些技术栈组合可以提供高性能、可扩展的 Web 服务。 uwsgi 介绍 uwsgi 是...

    腾讯云部署Django+Nginx+uWSGI+SimpleUI.解决 .svg文件不能显示问题

    在本文中,我们将探讨如何在腾讯云服务器上部署Django应用程序,同时解决SVG文件无法显示的问题。我们将使用Django、Nginx、uWSGI和SimpleUI这些技术,并且会详细解释每个组件的作用以及配置过程。 首先,Django是...

    宝塔部署Django项目.doc

    下面将详细介绍如何使用宝塔部署 Django 项目。 Step 1: 安装 Python 管理器 在宝塔面板中,需要安装 Python 管理器,以便管理 Python 项目。安装 Python 管理器后,可以方便地管理 Python 项目。 Step 2: 安装...

    树莓派部署django配置文件

    在本文中,我们将深入探讨如何在树莓派上部署Django项目,并配置uwsgi和nginx。树莓派作为一款小巧而强大的嵌入式设备,常被用于各种开发和实验环境,包括运行Web应用。 首先,我们需要理解Django,它是一个高级...

    宝塔部署Django项目.docx

    在这个步骤中,需要使用Python项目管理器来部署Django项目。首先,需要添加项目,配置项目名称、项目路径、Python版本、框架类型等信息。然后,需要选择uwsgi作为启动方式,配置启动文件夹和端口号。最后,需要选择...

    用uwsgi+daphne+Nginx+supervisor部署Django项目.docx

    ### 使用uwsgi+daphne+Nginx+supervisor部署Django项目的详细步骤 #### 一、概述 在本文档中,我们将详细介绍如何在Linux环境下利用uwsgi、daphne、Nginx以及supervisor来部署Django项目。这种方式能够有效地提高...

    django+nginx+linux部署

    在部署Django项目时,通常需要结合Nginx和uWSGI来搭建一个完整的生产环境。本知识点将详细解释如何在Ubuntu和CentOS系统下,通过Django框架结合MySQL数据库进行配置部署,同时使用Nginx作为Web服务器,并通过uWSGI...

    django部署配置以及nginx配置

    在IT行业中,Web应用的部署是一项关键任务,特别是在使用Python的Django框架开发项目时。本教程将聚焦于Django项目在生产环境中的部署配置,主要涉及Nginx和uWSGI这两个重要的组件。让我们逐步深入理解这些知识点。 ...

    Ubuntu部署Django项目方法详解

    uWSGI是一个非常强大的WSGI服务器,非常适合部署Django应用。 ##### 配置uWSGI 在项目根目录下创建`mysite.xml`文件,内容如下: ```xml <socket>127.0.0.1:8997 <chdir>/data/wwwroot/mysite/ <module>mysite....

    uwsgi+nginx部署Django项目操作示例

    ### uwsgi+nginx部署Django项目操作示例 在现代Web开发中,高效稳定地部署Web应用程序至关重要。其中,利用uwsgi(uWSGI)与nginx来部署Django项目是一种非常流行且高效的方案。下面将详细介绍uwsgi的概念、原理、...

    nginx+uwsgi启动Django项目的详细步骤

    在部署Django项目时,使用Nginx和uWSGI作为前端和应用服务器是一种常见且高效的做法。本文将详细介绍使用Nginx作为Web服务器,uWSGI作为应用服务器,以及Django框架本身,来启动和运行Django项目的详细步骤。 首先...

    部署Django项目

    基本的Nginx配置可能包括监听端口、设置静态文件目录、使用`uwsgi_pass`指令将请求转发到运行Django应用的Gunicorn等。Nginx配置文件的一个示例: ``` server { listen 80; server_***; location /static/ { ...

    浅谈Django+Gunicorn+Nginx部署之路

    Django+Gunicorn+Nginx的部署过程是一个经典的Web应用部署架构,在这个架构中,Django负责处理Web应用的后端逻辑,Gunicorn作为WSGI服务器进行Django应用的运行,而Nginx作为反向代理服务器,负责处理客户端的请求和...

    初次部署django+gunicorn+nginx的方法步骤

    部署Django、Gunicorn和Nginx的整个过程涉及到多个环节,每个环节都需要仔细配置和测试。在这个过程中,会遇到的问题和解决方案往往需要我们能够从更高层面上进行思考,比如理解HTTP请求的处理流程、服务器端口的...

    django+uwsgi+nginx部署文档.docx

    【Django+Uwsgi+Nginx 部署详解】 Django 是一个高级的 Python Web 开发框架,它提供了一整套工具用于构建高效、可扩展的 Web 应用程序。Uwsgi 是一个高性能的服务器,它实现了 WSGI(Web Server Gateway Interface...

Global site tag (gtag.js) - Google Analytics