阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux下Django+Nginx+uWSGI安装部署

176次阅读
没有评论

共计 2447 个字符,预计需要花费 7 分钟才能阅读完成。

一、环境:

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 应用  http://www.linuxidc.com/Linux/2016-07/133064.htm

Ubuntu Server 12.04 安装 Nginx+uWSGI+Django 环境 http://www.linuxidc.com/Linux/2012-05/60639.htm 

快速部署 Python 应用:Nginx+uWSGI 配置详解  http://www.linuxidc.com/Linux/2016-12/137830.htm

Nginx+uWSGI+Django+Python 应用架构部署  http://www.linuxidc.com/Linux/2015-10/124183.htm

Ubuntu Server 14.04.2 LTS 配置 Nginx + Uwsgi + Django  http://www.linuxidc.com/Linux/2015-04/116397.htm

Flask+uWSGI+Nginx+Ubuntu 部署教程 http://www.linuxidc.com/Linux/2016-06/132690.htm

Ubuntu 16.04 下安装部署 Nginx+uWSGI+Django1.9.7  http://www.linuxidc.com/Linux/2016-07/133484.htm

Nginx+uWSGI+Django 在 Ubuntu 下的部署  http://www.linuxidc.com/Linux/2016-07/133490.htm

Linux 上利用 Nginx 代理 uWSGI 处理 Flask Web 应用  http://www.linuxidc.com/Linux/2016-08/134164.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-03/141771.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2447字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中