django服务器部署(uWSGI+nginx)

主要自己是自学,想着自己学过django,学过自己的项目,却没有自己将其部署到服务器上过,对这部分一脸懵逼。所以假期自己了解且部署了,做个思路记录吧,具体操作有太多博客了。

一、环境搭建

1、一般是云服务器,先系统更新,可以把镜像调整到国内的镜像,应该要快一点点。

2、我的python版本是3.X的,就在系统上安装python3.X的版本,并调整相应的软连接,pip3等。

二、项目转移

1、把项目从自己的电脑转移到服务器上,有很多方式啦,可以用git,也可以用比较简单的WinSCP,直接转移上去。

2、因为是自己编写,使用的django自带的sqlite3数据库,centos7系统自带,如果不匹配,需要更新sqlite3版本。

三、开始部署

1、了解清楚django、uWSGI、nginx各自的功能点。

(1)、django是项目的主体,其自身是带有一个简单开发服务器的,不过不适用于正常的运行环境,既然都部署到云服务器了,怎么能还用这个呢?不过上传到服务器后,调整配置文件后,可以先使用该服务器测试一下,django的相关依赖的第三方库以及版本是否正确,如果可以正常运行,django部分就算ok了。

(2)、uWSGI部分,wsgi规定了python web应用和python web服务器之间的通讯方式,uWSGI是实现了uwsgi协议、http协议,遵循了wsgi规范的一个软件,在我理解,一个是指导理论,一个是结合实际情况的操作方式,一个就是具体实现的工具。

       安装好uWSGI后,可以找相应的中文文档,了解一下,或者直接写好相应的配置文件,使用云服务器要使用其相应的内网地址,而不能直接是127.0.0.1;需要设置socker项和等下的nginx配置对应。然后启动即可。

       其实通过uWSGI可以直接作为服务器运行django项目,配置好相应的http即可,但根据网上看,主要是uWSGI对应静态文件支持不太好,比较慢,所以我们使用下面的nginx作为静态文件的代理,还有其反向代理。

(3)、nginx安装好后,复制一份其原来的配置文件作备份,对其配置文件进行修改,因为只是简单部署,需要修改的点不多。主要集中在服务部分,第一个将不是静态文件的部分转移到uWSGI的socket,不作相应的处理。对于静态文件处理,定义相应的绝对地址到在服务器上的静态文件地址即可,一般我们django项目的静态文件分散在各个app下的static文件中,可以通过运行python3 manage.py collectstatic 将静态文件收集到一个固定目录。然后启动nginx。

(4)、应该说简单的django+uWSGI+nginxginx就部署完成了,由nginx完成静态文件部分,非静态文件部分由nginx代理,uWSGI服务器完成。

没有具体的操作,春节在家,通过各种博客、资料完成了简单的部署,从最开始的一脸茫然到最后成功,还是很有收获感的。也算是自我学习吧。有点恨自己没有在大学期间了解这些东西,还是荒废了不少时间呀。

ho

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值