Linux下Django+Nginx+uWSGI安装部署

Django版本:  Django-1.10.6.tar.gz
Nginx 版本: nginx-1.11.10.tar.gz
uwsgi 版本: uwsgi-2.0.14.tar.gz

二、安装部署:(在网上能搜到很多Django+Nginx+uWSGI架构的安装,但是大都雷同,在配置中有几个要点说的不够明确。使很多人陷入迷茫之中)

1、将Django、nginx和uwsgi进行源码安装,安装步骤比较简单。

# mkdir -p /data/logs          ## 创建uwsgi日志目录
安装nginx
# tar -zxvf nginx-1.11.10.tar.gz 
# cd nginx-1.11.10
# ./configure --user=nobody --group=nobody --prefix=/usr/local/nginx \
--with-http_stub_status_module --with-cc-opt='-O3' --with-cpu-opt=opteron
# make && make install
安装 uwsgi
解压之后,进入目录直接make,不需要其它
把uwsgi赋值到/usr/bin下
安装 Django
解压之后,进入目录,使用Python setup.py install安装

2、安装错误

Linux下Django+Nginx+uWSGI安装部署

解决:
# yum -y install gzip-devel zlib-devel

Linux下Django+Nginx+uWSGI安装部署

解决:
# yum -y install python-devel

三、配置文件

1、nginx配置

在nginx.conf中添加以下server域:

server {
    listen      80;
    server_name  test.example.com;
    location / {
            uwsgi_pass 192.168.216.132:8000;
            include uwsgi_params;
            uwsgi_param UWSGI_CHDIR /data/www/mytest;  #项目根目录
#          uwsgi_param UWSGI_SCRIPT django_wsgi;
            access_log off;
    }
    location ^~ /static {
            root /data/www/mytest;
    }
    location ~* ^.+\.(mpg|avi|mp3|swf|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|txt|tar|mid|midi|wav|rtf|mpeg)$ {
            root /data/www/mytest/static;
            access_log off;
    }

2、uwsgi配置

在nginx.conf同级目录下创建uwsgi.ini文件

[uwsgi]
socket = 0.0.0.0:8000
master = true
pidfile = /usr/local/nginx/uwsgi.pid
processes = 8
chdir = /data/www/mytest
wsgi-file = mytest/wsgi.py  ## 项目文件
pythonpath = /data/www
profiler = true
memory-report = true
enable-threads = true
logdate = true
limit-as = 6048
daemonize = /data/logs/django.log

3、创建项目

在/data/www目录下创建项目
#django-admin.py startproject mytest  ## mytest为项目名字
启动nginx和uwsgi
# /usr/bin/uwsgi --ini /usr/local/nginx/conf/uwsgi.ini
# /usr/local/nginx/sbin/nginx

4、报错

Linux下Django+Nginx+uWSGI安装部署

解决:在创建的项目中把settings.py文件中的ALLOWED_HOSTS = [ ]
修改成ALLOWED_HOSTS = [ ‘*’],并重启uwsgi

5、成功结果

Linux下Django+Nginx+uWSGI安装部署

更多参考

Nginx+uWSGI+Supervisor在Ubuntu上部署Flask应用 

Ubuntu Server 12.04 安装Nginx+uWSGI+Django环境  

快速部署Python应用:Nginx+uWSGI配置详解 

Nginx+uWSGI+Django+Python 应用架构部署 

Ubuntu Server 14.04.2 LTS 配置 Nginx + Uwsgi + Django 

Flask+uWSGI+Nginx+Ubuntu部署教程

Ubuntu 16.04下安装部署 Nginx+uWSGI+Django1.9.7 

Nginx+uWSGI+Django在Ubuntu下的部署 

Linux 上利用Nginx代理uWSGI处理Flask Web应用 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/984fd2e47d3871573348acf6b815b270.html