Nginx + uWSGI + Python + Django部署的实例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
Nginx
:
Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性:
作为 Web 服务器
:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。能够支持高达 50,000 个并发连接数的响应,感谢 Nginx 为我们选择了 epoll and kqueue 作为开发模型.
作为负载均衡服务器
:Nginx 既可以在内部直接支持 Rails 和 PHP,也可以支持作为 HTT开发云主机域名P代理服务器 对外进行服务。Nginx 用 C 编写, 不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好的多。
作为邮件代理服务器
: Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last.fm 描述了成功并且美妙的使用经验。
Nginx 安装非常的简单,配置文件 非常简洁(还能够支持perl语法),Bugs非常少的服务器
: Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够在 不间断服务的情况下进行软件版本的升级。
uWSGI:
APP(应用程序),就是开发者写的应用程序,例如django,bottle这些。记录怎么处理客户端发来的请求的逻辑部分。开发云主机域名WSGI,是一个协议,Python用于Web开发的协议uWSGI,是一个程序,充当Web服务器或中间件。如果架构是Nginx+uWSGI+APP,uWSGI是一个中间件如果架构是uWSGI+APP,uWSGI是一个服务器uwsgi,是uWSGI程序实现的一个自有的协议。Web协议出现顺序:
CGI -> FCGI -> WSGI -> uwsgiCGI,最早的协议FCGI,比CGI快WSGI,Python专用的协议uwsgi,比FCGI和WSGI都快,是uWSGI项目自有的协议,主要特征是采用二进制来存储数据,之前的协议都是使用字符串,所以在存储空间和解析活动:慈云数据爆款香港服务器,CTG+CN2高速带宽、快速稳定、平均延迟10+ms 速度快,免备案,每月仅需19元!! 点击查看速度上,都优于字符串型协议.
Django:
Django(维基百科) Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的软件设计模式,即模型M,视图V和控制器C。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。Django的主要目标是使得开发复杂的、数据库驱动的网站变得简单。Django注重组件的重用性和“可插拔性”,敏捷开发和DRY法则(Don’t Repeat Yourself)。在Django中Python被普遍使用,甚至包括配置文件和数据模型。Django框架的核心包括:一个 面向对象 的映射器,用作数据模型(以Python类的形式定义)和关联性数据库间的媒介;一个基于正则表达式的URL分发器;一个视图系统,用于处理请求;以及一个模板系统。核心框架中还包括:l一个轻量级的、独立的Web服务器,用于开发和测试。l一个表单序列化及验证系统,用于HTML表单和适于数据库存储的数据之间的转换。l一个缓存框架,并有几种缓存方式可供选择。l中间件支持,允许对请求处理的各个阶段进行干涉。l内置的分发系统允许应用程序中的组件采用预定义的信号进行相互间的通信。l一个序列化系统,能够生成或读取采用XML或JSON表示的Django模型实例。l一个用于扩展模板引擎的能力的系统。Django主要特点
Django基于“自备军需”的理念,您不必使用单独的库来实现常见功能,例如身份验证,URL路由,模板系统,对象关系映射器(ORM)和数据库模型迁移。 如果您正在使用或曾经用过Flask,您一定注意到了它需要调用其他库,如Flask-Login来执行用户身份验证。 Django不是这样。自由的API使用Django,很容易根据您的模型生成Python API。 只需一个简单的命令,不需要额外的编码就足以开始生成API了。独特的管理页面即使在网站完全构建之前,您也可以从外部贡献者处获取有关信息。 这就是Django的力量。 该框架使您能够快速轻松地从应用模型生成管理站点。代码设计与大多数 Web 框架相反,Django 通过使用称为 app 的东西,更容易地将新功能添加到产品中。 因此,开发者可以感受到 Django鼓励大家编写模块化的代码。Django对ORM的完善支持Django的对象关系映射 (ORM)对数据库进行了完善的支持。所以,它用于查询数据库所需的数据时,没有处理结构化查询语言(SQL)的麻烦。 与许多通过SQL直接在数据库上工作的Python框架不同,Django开发人开发云主机域名员有一个独特的选择来操纵相应的Python的Model对象。 Django对于PostgreSQL,MySQL,SQLite和Oracle等数据库都能做到开箱即用。强大的内置模板系统基于继承系统,Django 的模板允许开发人员通过非常少量的前端代码构建整个动态网站。这得益于使用其他上下文特定元素替换模板的某些元素的选项。 想象一下,你知道你网站的每个页面都会有一个页眉和一个页脚。 现在,您首先需要在网站的基本模板中编写代码。 然后,您可以从应用程序的其他部分动态地更改这两个内容之间的组件。简单可读的网址很难正确阅读在PHP os ASP中开发的URL? 使用 Django,您可以创建简单易读的 URL,这对人和搜索引擎都有好处。 您也可以使用其他框架创建可读 URL,但没有一个与 Django 一样容易进行 URL 构造 Django是一个Python编写的,高级的,MVC风格的开源库。Django也被称为“完美主义者的最终框架”,它最初是为新闻网站设计的,因为它允许开发人员编写数据库驱动的Web应用程序,而无需从头开始编码。 除了更快完成常见的Web开发任务,Django还可以保持设计干净且实用。Django是Python Web开发新人的最佳选择,因为官方文档和教程是几个(同类)软件开发框架中最好的。 技术市场充斥着一系列网络框架,但Django在最受欢迎的服务器端Web框架里处于顶峰位置。设计Django背后的座右铭很简单:避免重复。Django是用Python编写的,因此其减少了太多中间层代码并突出提高了效率。Django可以支持云平台,使其成为Web开发中更受欢迎的选择。部署Nginx + uWSGI + Python + Djangonginx版本:1.5.9Django版本:1.4.9uwsgi版本:2.0.4Python版本:2.6.6安装,Django,nginx,uwsgi,MySQL,采用编译安装,便于维护配置Nginx.配置uwsgi.启动项目board启动uwsgi和nginx服务.,其中uwsgi使用自定义位置配置文件方便服务管理,创建nginx和uwsgi启动脚本.nginx:uwsgi:创建数据模型:SQL语句没问题,继续执行#在Django 1.9及未来的版本种使用migrate代替syscdb.syncdb会创建在setting.py下配置的INSTALL_APPS下的所有app,创建其对应的数据表到指定的数据库,但只创建不存在的表比如上面都会创建一个对应的表。报错问题[root@kurol board]# python manage.py syncdbTypeError: decode() argument 1 must be string, not None解决:将export LC_ALL=en_US.UTF-8写入到profile或者.bashrc中即可。[root@kurol board]# export LC_ALL=en_US.UTF-8生成应用,修改urls指定页面,添加views视图浏览器打开,显示Main Page就是成功部署了。关于 Nginx + uWSGI + Python + Django部署的实例分析问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注开发云行业资讯频道了解更多相关知识。
本文从转载,原作者保留一切权利,若侵权请联系删除。
《Nginx + uWSGI + Python + Django部署的实例分析》来自互联网同行内容,若有侵权,请联系我们删除!
还没有评论,来说两句吧...