Django 布署6.5(django开发一个管理系统)

网友投稿 228 2022-09-05


Django 布署6.5(django开发一个管理系统)

布署

从uwsgi、nginx、静态文件三个方面处理

服务器介绍

服务器:私有服务器、公有服务器私有服务器:公司自己购买、自己维护,只布署自己的应用,可供公司内部或外网访问公有服务器:集成好运营环境,销售空间或主机,供其布署自己的应用私有服务器成本高,需要专业人员维护,适合大公司使用公有服务器适合初创公司使用,成本低常用的公有服务器,如阿里云、青云等,可根据需要,按流量收费或按时间收费此处的服务器是物理上的一台非常高、线路全、运行稳定的机器

服务器环境配置

在本地的虚拟环境中,项目根目录下,执行命令收集所有包

pip freeze > plist.txt

通过ftp软件将开发好的项目上传到此服务器的某个目录安装并创建虚拟环境,如果已有则跳过此步

sudo apt-get install python-virtualenvsudo easy_install virtualenvwrappermkvirtualenv [虚拟环境名称]

在虚拟环境上工作,安装所有需要的包

workon [虚拟环境名称]pip install -r plist.txt

更改settings.py文件

DEBUG = FalseALLOW_HOSTS=['*',]表示可以访问服务器的ip

启动服务器,运行正常,但是静态文件无法加载

WSGI

python manage.py runserver:这是一款适合开发阶段使用的服务器,不适合运行在真实的生产环境中在生产环境中使用WSGIWSGI:Web服务器网关接口,英文为Python Web Server Gateway Interface,缩写为WSGI,是Python应用程序或框架和Web服务器之间的一种接口,被广泛接受WSGI没有官方的实现, 因为WSGI更像一个协议,只要遵照这些协议,WSGI应用(Application)都可以在任何服务器(Server)上运行命令django-admin startproject会生成一个简单的wsgi.py文件,确定了settings、application对象

application对象:在Python模块中使用application对象与应用服务器交互settings模块:Django需要导入settings模块,这里是应用定义的地方

此处的服务器是一个软件,可以监听网卡端口、遵从网络层传输协议,收发install uwsgi

配置uWSGI,在项目中新建文件uwsgi.ini,编写如下配置

[uwsgi]socket=外网ip:端口(使用nginx连接时,使用socket)--ini uwsgi.ini停止:uwsgi --stop uwsgi.pid重启:uwsgi --reload uwsgi.pid使用web代码,不限于django到官网下载nginx压缩文件或通过命令安装

sudo apt-get nginx

这里以下载压缩文件为例演示

解压缩:tar zxvf nginx-1.6.3.tar.gz进入nginx-1.6.3目录依次执行如下命令进行安装:./configuremakesudo make install

默认安装到/usr/local/nginx目录,进入此目录执行命令查看版本:sudo sbin/nginx -v启动:sudo sbin/nginx停止:sudo sbin/nginx -s stop重启:sudo sbin/nginx -s reload通过浏览器查看nginx运行结果指向uwsgi项目:编辑conf/nginx.conf文件

sudo conf/nginx.conf在server下添加新的location项,指向uwsgi的ip与端口location / { include uwsgi_params;将所有的参数转到uwsgi下 uwsgi_pass uwsgi的ip与端口;}

修改uwsgi.ini文件,启动socket,禁用/static { alias /var/chmod 777 /var/static

最终目录结构如下图:

修改settings.py文件

STATIC_ROOT='/var/manage.py collectstatic重启nginx、uwsgi


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Django celery6.4(django values F)
下一篇:Django 分页和使用Ajax5.3(django开发一个管理系统)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~