文档章节

python+nginx+gunicorn 部署django小记

不容置喙
 不容置喙
发布于 2015/03/07 19:44
字数 626
阅读 5.4K
收藏 17

部署环境

  1. Ubuntu 12.04 LTS

  2. django 1.6.2

  3. nginx 1.1.19

  4. guniron 19.3.0


安装配置各项

  1. 安装django:

    pip install django==1.6.2

  2. 装nginx,此步适用ubuntu:

     apt-get install nginx

    其它: 推荐源码安装

    nginx命令:

    启动:  /etc/init.d/nginx start

    停止: /etc/init.d/nginx stop

    测试配置文件是否正确: nginx -t

    配置proxy功能:

    1.1 在/etc/nginx/site-available/目录下创建  test文件

    server {

            listen 9600;监听端口号,此处的端口号是服务器上可用的端口号,不然会失败

           server_name localhost;

            server_name 127.0.0.1;此处应该改为公网 IP地址

            access_log /opt/logs/nginx/wasp_ticket_stat.log;

            error_log /opt/logs/nginx/wasp_ticket_stat_error.log;

            location / {

                proxy_pass http://127.0.0.1:9090;此处填写转发到的gunicorn绑定的服务器端口

                proxy_set_header Host $host;

                proxy_set_header X-Real-IP $http_x_real_ip;

                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

          }

    }

  3. 安装gunicorn:

    Gunicorn(gunicorn.org)是一个Python WSGI UNIX的HTTP服务器。,从Ruby的独角兽(Unicorn)项目移植。它与很多种不同的web框架兼容,实现很简单,轻量级,响应速度非常快。

    pip insatll gunicorn

    安装好之后,可以创建django项目和django app

    django-admin.py startproject projectname
    python manages.py startapp appname

        然后cd appname,gunicorn appname.wsgi:application --bind 0.0.0.0:9090,绑定在本机上的9090端口

    此时可以用netstat -lpnt查看端口占用情况

    然后用curl 127.0.0.1:9090去测试,如果出现以下情况,说明成功了:

<!DOCTYPE html>

<html><head>

  <meta http-equiv="content-type" content="text/html; charset=utf-8">

  <meta name="robots" content="NONE,NOARCHIVE"><title>Welcome to Django</title>

  <style type="text/css">

    html * { padding:0; margin:0; }

    body * { padding:10px 20px; }

    body * * { padding:0; }

    body { font:small sans-serif; }

    body>div { border-bottom:1px solid #ddd; }

    h1 { font-weight:normal; }

    h2 { margin-bottom:.8em; }

    h2 span { font-size:80%; color:#666; font-weight:normal; }

    h3 { margin:1em 0 .5em 0; }

    h4 { margin:0 0 .5em 0; font-weight: normal; }

    table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }

    tbody td, tbody th { vertical-align:top; padding:2px 3px; }

    thead th { padding:1px 6px 1px 3px; background:#fefefe; text-align:left; font-weight:normal; font-size:11px; border:1px solid #ddd; }

    tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }

    #summary { background: #e0ebff; }

    #summary h2 { font-weight: normal; color: #666; }

    #explanation { background:#eee; }

    #instructions { background:#f6f6f6; }

    #summary table { border:none; background:transparent; }

  </style>

</head>


<body>

<div id="summary">

  <h1>It worked!</h1>

  <h2>Congratulations on your first Django-powered page.</h2>

</div>


<div id="instructions">

  <p>

    Of course, you haven't actually done any work yet.

    Next, start your first app by running <code>python manage.py startapp [appname]</code>.

  </p>

</div>


<div id="explanation">

  <p>

    You're seeing this message because you have <code>DEBUG = True</code> in your

    Django settings file and you haven't configured any URLs. Get to work!

  </p>

</div>

</body></html>


重启nginx:nginx -s reload

nginx restart

访问ip:9600即可

    

© 著作权归作者所有

不容置喙
粉丝 14
博文 12
码字总数 1541
作品 0
南京
私信 提问
加载中

评论(0)

WEB 三驾马车——Django、Flask、web.py

Django目录 Django 基本配置与 URLconf DjangoMTV 模型之视图层 views 及模板层 template DjangoMTV 模型之 model 层——ORM 操作数据库(基本增删改查) Django 进阶之 QuerySet 和中介模型...

''竹先森゜
2018/01/30
0
0
记一次在 Linux 上创建 Django 应用的过程

0 环境与目标 0.1 环境 服务器端 操作系统: Ubuntu 14.04.2 LTS 运行时: Python 3.4.0 客户机端 浏览器: Firefox 37.0.1 数据库客户端: Navicat Premium 11.1.10 0.2 目标 在服务器端开始...

辛木
2015/04/06
2.9K
0
在生产系统使用Tornado WebServer来代替FastCGI加速你的Django应用

由于换了工作,所以之前的游戏引擎暂时放下,但是不会停止的,这个项目会在我的业余时间来完成。 ---------------------------------------闷骚的分割线,下面是正文-----------------------...

亚历山大同志
2011/05/02
0
0
Windows+Apache+Python+Django 踩坑记录

Windows+Apache+Python+Django 踩坑记录 摘要   使用Python进行Web项目开发;相对于主流三大Web端解决方案(Java/.NET/PHP) Python在某些方面具有一定的优势,相对 Java/.NET 有更轻量级的部...

优惠码领取
2019/07/27
0
0
django单元测试历险记

最近需要测试一个服务器端的django项目,查看了一下django的文档,发现django为了更加方便的对web应用进行测试,提供了一些便捷的测试方法。并且,专门有一篇文档讲诉如何测试django应用。 ...

科技小毛
2017/05/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

略谈分布式系统中的容器设计模式

本文作者:zytan_cocoa 略谈分布式系统中的容器设计模式 谭中意 2020/3/5 前言:云原生(Cloud Native)不仅仅是趋势,更是现在进行时,它是构建现代的,可弹性伸缩的,快速迭代的计算网络服...

百度开发者中心
03/11
13
0
OSChina 周三乱弹 —— 小姐姐的领带有点带歪了,请帮忙正一下

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @薛定谔的兄弟 :分享洛神有语创建的歌单「我喜欢的音乐」: 《アイタクテ -voice & piano-》- 和紗 手机党少年们想听歌,请使劲儿戳(这里) ...

小小编辑
今天
21
0
对象名称前的单下划线和双下划线是什么意思?

问题: Can someone please explain the exact meaning of having leading underscores before an object's name in Python? 有人可以解释一下在Python中对象名称前加下划线的确切含义吗? ......

技术盛宴
今天
29
0
Redis命令行参数大全

[TOC] Redis命令行参数大全 CLI工具的类型 可执行文件 作用 redis-server Redis Srver相关 redis-cli Redis命令行工具 redis-benchmark 基准测试工具 redis-check-aof AOF持久化文件检测工具...

我爱吃炒鸡
今天
20
0
RHEL8和CentOS8怎么重启网络

RHEL8和CentOS8怎么重启网络 本文主要讲解如何重启RHEL 8或者CentOS 8网络以及如何解决RHEL8和CentOS8系统的网络管理服务报错,当我们安装好RHEL 8或者 CentOS 8,重启启动网络时,会出现以下...

独钓渔
今天
42
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部