微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Ubuntu 下面部署Django 项目

django 是 python 开源的 web 框架 ,django 本身运行后也是一个轻量级的服务器,可以满足本地的测试,生产环境中的 大量访问, 一般和Nginx 和 apache 结合。下面以 Django 与Nginx 结合为例进行部署


1、 部署环境


操作系统:Ubuntu 16.04.2


Nginx 版本:Nginx/1.10.3


2、部署原理

client----》Nginx ----》socket----》uwsgi----》Django



3、安装步骤


3.1 安装 Nginx


apt-get install Nginx


systemctl start Nginx


测试 Nginx


3.2 安装uwsgi


pip install uwsgi


在opt 下面创建 test.py 测试uwsgi 是否正常安装

#!/usr/bin/envpython
defapplication(env,start_response):
start_response('200OK',[('Content-Type','text/html')])
return["HelloWorld"]


测试 :

uwsgi --http:8000 --wsgi-file test.py


访问 ip:8000,uwsgi 测试成功




3.3 Nginx+uwsgi+django


上传 django 项目至OurCMDB


创建OurCMDB_uwsgi.ini 配置文件

#OurCMDB_uwsgi.ini
[uwsgi]
#Django-relatedsettings

socket=:8000#socket监听端口,对应下文Nginx配置文件uwsgi_pass监听的端口号
#thebasedirectory(fullpath)
chdir=/opt/OurCMDB/#项目目录

#Djangoswsgifile
module=OurCMDB.wsgi#wsgi.py创建django项目时已经生成目录/opt/OurCMDB/OurCMDB/wsgi.py

#process-relatedsettings
#master
master=true

#maximumnumberofworkerprocesses
processes=4#

#...withappropriatepermissions-maybeneeded
#chmod-socket=664
#clearenvironmentonexit
vacuum=true


查看项目下面的文件



新增Nginx 虚拟配置文件

cat /etc/Nginx/sites-available/OurCMDB_Nginx.conf

server{
listen8010;
server_name_;
charsetUTF-8;
access_log/var/log/Nginx/OurCMDB_access.log;
error_log/var/log/Nginx/OurCMDB_error.log;

client_max_body_size75M;

location/{
includeuwsgi_params;
uwsgi_pass127.0.0.1:8000;#
uwsgi_read_timeout2;
}
location/static{
expires30d;
autoindexon;
add_headerCache-Controlprivate;
alias/opt/OurCMDB/static/;
}
}

创建 软连接 ln -s OurCMDB_Nginx.conf ../sites-enabled/OurCMDB_Nginx.conf


启动

uwsgi --ini OurCMDB_uwsgi.ini


检查Nginx 配置文件


启动Nginx


访问测试 django


http://ip:8010/

原文地址:https://www.jb51.cc/ubuntu/350442.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐