Ubuntu中怎么部署Django

75次阅读
没有评论

共计 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 行业资讯频道。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-13发表,共计2582字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)