文档章节

centos7下采用Nginx+uwsgi来部署django

littlemesieV
 littlemesieV
发布于 2018/06/13 20:24
字数 464
阅读 18
收藏 2
1.安装Nginx就介绍了,这里直接安装uwsgi:
pip install uwsgi

2.测试

# test.py
2 def application(env, start_response):
3     start_response('200 OK', [('Content-Type','text/html')])
4     return "Hello World"
uwsgi --http :8000 --wsgi-file test.py

采用浏览器访问主机,如果出现"Hello World"即测试成功。

3.测试django工程

django-admin startproject spider_web
2 uwsgi --http :8000 --chdir /data/slf_spider/spider_web --module spider_web.wsgi

并在django工程的settings里边添加主机的ip地址,采用浏览器访问主机,如果出现django的欢迎页面,“It works!”即测试成功.

4.写uwsgi.ini配置文件

[uwsgi]
socket = /data/slf_spider/spider_web/slf_spider.sock
chmod-socket = 777
chdir = /data/slf_spider/spider_web
daemonize = /var/log/wsgi.log
wsgi-file = spider_web/wsgi.py
module = spider_web.wsgi
master = true
vacuum = true
enable-thread = true
processes = 2
threads = 4
buffer-size=65535
;uwsgi_read_timeout = 2600000c

5.修改nginx配置文件

vim /etc/nginx/nginx.conf

# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;
    upstream django {
    server unix:///data/slf_spider/spider_web/slf_spider.sock;
    # server 127.0.0.1:8001;
    }

    server {
        listen       8001 default_server;
        listen       [::]:8001 default_server;
        server_name  _;
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        #location / {
        #}
        location /static/ {
        root /data/slf_spider/spider_web;
        #alias /data/slf_spider/spider_web/static;
        }

        location / {
        uwsgi_pass  django;
        include uwsgi_params;
        #include     /data/slf_spider/spider_web/uwsgi_params;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

# Settings for a TLS enabled server.
#
#    server {
#        listen       443 ssl http2 default_server;
#        listen       [::]:443 ssl http2 default_server;
#        server_name  _;
#        root         /usr/share/nginx/html;
#
#        ssl_certificate "/etc/pki/nginx/server.crt";
#        ssl_certificate_key "/etc/pki/nginx/private/server.key";
#        ssl_session_cache shared:SSL:1m;
#        ssl_session_timeout  10m;
#        ssl_ciphers HIGH:!aNULL:!MD5;
#        ssl_prefer_server_ciphers on;
#
#        # Load configuration files for the default server block.
#        include /etc/nginx/default.d/*.conf;
#
#        location / {
#        }
#
#        error_page 404 /404.html;
#            location = /40x.html {
#        }
#
#        error_page 500 502 503 504 /50x.html;
#            location = /50x.html {
#        }
#    }

}
 

主要修改红色的地方

6.最后重启一下Nginx服务

© 著作权归作者所有

littlemesieV
粉丝 6
博文 41
码字总数 10780
作品 0
私信 提问
Nginx+uWSGI 部署 Django 应用

常见的 webapp 部署方式采用 或 的方式部署,今天我这备忘下采用的部署方式。 目前我这博客就是采用 Nginx + uWSGI + Python + Django 构建的,部署虽没有php那样扔到目录那么方便,但是并发和...

鉴客
2011/10/26
28.1K
8
Nginx ajax获取后端数据 偶尔是空值

问题描述:前端用ajax定时(每2秒)从后端获取变化数据(后端数据不为空),但前端无规律获取不到值。(比如前3秒有值,后1秒空值,再1秒有值,4秒空值。无规律出现空值)。除了ajax,页面无...

Gallon
2016/01/05
1K
5
在Ubuntu上使用nginx+uwsgi部署django程序后,查询数据库外键出现问题

Categoryid=req.POST['Categoryid'] log=T_QuestionType.objects.filter(QusCategory_ID__id__exact=Categoryid) 这行代码是根据外键查询表的,使用django内置的测试服务器可以查出数据,没有......

尤佳佳
2015/10/19
270
0
Django发送邮件

使用Django发送邮件的时候,用命令:python manage.py runserver 0.0.0.0:8000可以顺利发送。但是在部署环境nginx+uwsgi就无法发送成功。请问这是什么原因呢?...

叶业力
2017/07/31
188
0
Ubuntu上通过nginx部署Django笔记

Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式。今天在Ubuntu上使用Nginx部署Django服务,虽然不是第一次搞这个了,但是发现还是跳进了好多坑,google了好久才...

j_hao104
2016/11/16
119
0

没有更多内容

加载失败,请刷新页面

加载更多

LoggerFactory源码查看(工厂方法的应用)

ctrl+n 输入:LoggerFactory 找到getLogger()方法 查看ILoggerFactory接口,只有一个方法。 ILoggerFactory三个实现

东风破2019
23分钟前
3
0
cpu load过高问题排查

load average的概念 top命令中load average显示的是最近1分钟、5分钟和15分钟的系统平均负载。 系统平均负载被定义为在特定时间间隔内运行队列中(在CPU上运行或者等待运行多少进程)的平均进程...

mskk
今天
6
0
用spring boot 实现websocket

import java.io.IOException;import javax.websocket.OnClose;import javax.websocket.OnError;import javax.websocket.OnMessage;import javax.websocket.OnOpen;import java......

jingshishengxu
今天
4
0
shell介绍,命令历史,命令补全和别名,通配符,输入输出重定向,管道符和作业控制

shell介绍 可以使用 yum list |grep zsh 或者 yum list |grep ksh 这样可以搜索 zsh 和 ksh ,有需要的话可以安装 总之,默认使用的就是 .bash shell 命令历史 输入过的命令会被保存在一个文...

doomcat
今天
7
0
1995年的资深工程师,和你谈谈如何进阶

1995年的资深工程师,和你谈谈如何进阶 自我介绍 网络ID:杭城小刘,城市:顾名思义,人在杭州。1995年出生,本科毕业,现在是一名 iOS 资深工程师,年薪 35w。兴趣爱好广泛:乒乓球、美食、...

杭城小刘
今天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部