共计 2582 个字符,预计需要花费 7 分钟才能阅读完成。
这篇文章主要介绍了 Ubuntu 中怎么部署 Django 的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇 Ubuntu 中怎么部署 Django 文章都会有所收获,下面我们一起来看看吧。
第一步,先更新
sudo apt-get update
sudo apt-get upgrade
Django 的主流部署方式:nginx+uwsgi+django
第二步,安装 nginx
sudo apt-get install nginx
安装 nginx,如果需要安装最新的 nginx 需从官网下载源码包进行手动编译。
nginx 的大致文件结构。
1. 配置文件:/etc/nginx
2. 程序:/usr/sbin/nginx
3. 日志:/var/log/nginx/access.log – error.log
第三步,安装 uwsgi
sudo apt-get install python3-dev
sudo apt-get install python3-pip
sudo pip3 install uwsgi(此步之前,可以换下 pip 源以提高下载速度。在~/.pip 下创建 pip.conf 写入
[global]
trusted-host = pypi.douban.com
index-url = http://pypi.douban.com/simple)
uwsgi 是一个 web 服务器,它实现了 WSGI 协议、uwsgi、http 等协议。Nginx 中 HttpUwsgiModule 的作用是与 uWSGI 服务器进行交换。
大致流程是:客户端 == nginx == uwsgi == Django。静态请求由 Nginx 自己处理。非静态请求通过 uwsgi 传递给 Django,由 Django 来进行处理,从而完成一次 WEB 请求。
创建 Django 测试项目,django-admin startproject mysite,cd mysite,python manage.py startapp demo1。
第四步,测试 uwsgi
在 mysite 目录下新建测试文件,nano test.py.
写入:
defapplication(env,start_response):
start_response(200OK ,[( Content-Type , text/html)])
return[HelloWorld]
运行:
uwsgi--http:8001--pluginpython--wsgi-filetest.py
访问正常。
第五步,测试 Django
pythonmanage.pyrunserver0.0.0.0:8002
访问正常。
连接 Django 和 uwsgi。
uwsgi--http:8001--pluginpython--modulemysite.wsgi
访问正常。
第六步,配置 uwsgi
uwsgi 支持通过多种配置文件形式启动,这里采用 ini 配置文件的方法.
新建 uwsgi:nano uwsgi.ini
#mysite_uwsgi.inifile
[uwsgi]
socket=127.0.0.1:3400
#Django-relatedsettings
#thedjangoprojectdirectory(fullpath)
chdir=/home/ubuntu/mysite
#Django swsgifile
module=mysite.wsgi
#process-relatedsettings
#master
master=true
#maximumnumberofworkerprocesses
processes=2
threads=2
max-requests=6000
#...withappropriatepermissions-maybeneeded
chmod-socket=664
#clearenvironmentonexit
vacuum=true
访问时报错,invalid request block size: 21573 (max 4096)…skip。
原因是 url 地址超过 4096 个字符,原因是我们是用 socket 的方式启动,将配置文件的 socket 改为 http 即可,或者修改 buffer-size。
(建议不做修改,测试时改为 http 即可,等连接 nginx 时,改回到 socket)
daemonize=/home/ubuntu/mysite/uwsgi.log
正式运行时将这句代码加入到 uwsgi.ini 文件中,访问日志就会后台输出到 uwsgi.log
此时 django 已经能访问。
第七步,配置 nginx
修改 nginx 的默认配置文件 /etc/nginx/sites-enabled/default
server{
#theportyoursitewillbeservedon
listen80;
#thedomainnameitwillservefor
server_name127.0.0.1;#substituteyourmachine sIPaddressorFQDN
charsetutf-8;
#maxuploadsize
client_max_body_size75M;#adjusttotaste
#Djangomedia
location/media{
alias/home/ubuntu/mysite/media;#yourDjangoproject smediafiles-amendasrequired
location/static{
alias/home/ubuntu/mysite/static;#yourDjangoproject sstaticfiles-amendasrequired
#Finally,sendallnon-mediarequeststotheDjangoserver.
location/{
includeuwsgi_params;#theuwsgi_paramsfileyouinstalled
uwsgi_pass127.0.0.1:8001;# 此处跟 uwsgi 配置文件保持一致
}
记得修改测试时的 uwsgi.ini 的配置。
第八步,运行
关于“Ubuntu 中怎么部署 Django”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Ubuntu 中怎么部署 Django”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道。