Python3+Gunicorn+Nginx 部署Flask项目

Python3+Gunicorn+Nginx 部署Flask项目,第1张

前言: 之前在本地测试项目的过程中一直使用python apppy的方式来启动项目,这种方式在本地测试的话还可以,但是在生产环境的话就不能使用这种方式。

原因:

1可能会出现无响应情况

2无法支持高并发和多线程

3无法合理利用服务器资源

生产环境: Centos7、Python3

需要模块: Gunicon、Nginx、Flask

一、安装Gunicorn

Gunicorn是一个高效的Web服务器,地位相当于Java中的Tomcat。简单来说gunicorn封装了>

不行的。

Weblogic是专门针对JAVA虚拟机的中间件,目前由Oracle开发,每年许可费用比较高。它是用来解析 JSP 网站,只能用 JAVA 语言 的web网站,需要将源代码编译成 jar 包。类似的软件还有 tomcat, jeety, jboss等等。

Django 是 Python 语言的web开发框架,本身是一种脚本语言,不需要手工编译。一般使用 WSGI 类的代码让其转换到前端web服务器(如Apache/Nginx)。常用的WSGI方法有 fast_cgi/flup/uwsgi等,目前应该uwsgi使用得更多,支持多线程。

HTML(超文本标记语言)是网页的核心,学好HTML是成为Web开发人员的基本条件。HTML很容易学习的,但也很容易误用,要学精还得费点功夫。

随着HTML5的发展和普及,了解HTML5也将成为Web开发人员的必修课。

涉及到网页外观时,就需要学习CSS了,它可以帮你把网页做得更美观。

利用HTML和CSS模拟一些你所见过的网站的排版和布局(色彩,,文字样式等等)。

第二步:学习javascript,了解DOM

JavaScript是一种能让你的网页更加生动活泼的程序语言。学习JavaScript的基本语法,学会用javascript *** 作网页中dom元素。

接着学习使用一些javascript库,比如jquery是大部分WEB开发人员都喜欢用的,通过Jquery可以有效的提高JavaScript的开发效率。

第三步:了解Web服务器

你不必在这上面花太多精力,但对IIS、Apache基本配置要掌握,这方面的知识学起来也相对容易,不会花多长时间。

学习一点Unix和Linux的基本知识,因为大部分Web服务器都运行在Unix和Linux平台上。

第四步:学好一门服务器端脚本语言

服务器端脚本编程(后台开发)也是Web开发人员的基本功之一,你只需挑选一个服务器端脚本语言,然后学好它。

目前流行的服务器脚本语言有:php、aspnet、jsp、ruby、python、等。

第五步:学习数据库及SQL语法

要构建动态页面通常会使用到数据库,常用的数据库有SQLServer、Oracle、MySQL等,它们都会遵循标准的SQL原则。

通常aspnet程序使用SqlServer数据库,PHP、java使用Oracle、MySQL数据库。

第六步:综合实战

选一个你喜欢的后台编程语言,结合之前学到的html,css,javascript前端技术,实现一个简单的留言本、论坛程序、进而实现一个简单的CMS(内容管理系统)

第七步:学习使用Web框架

当你掌握了HTML,CSS,JavaScript和服务器端脚本语言后,就应该找一个Web框架加快你的Web开发速度,使用框架可以节约你很多时间。

比如net的MVC,JAVA的SSH,php的cakephp、CodeIgniter、zend,ruby的ROR,python的dijango等等,其实里面都有一些相通之处。

整个开发过程你还可能会学习到一些工具的使用:

Visio,Dreamweaver,VistualStudio、elipse、(Vim,EditPlus,Notpad)、sqlserver、phpmyadmin,各种浏览器以及FireBug的插件,IE下的、IETester等。如果你足够用心,你还发掘出很多不错的资源,例如MSDN,W3cSchool,一些前辈的博客,一些技术论坛等等,这都是你未来前进道路上的财富。如还想深入研究,学学>

从最简单的HTML到Web框架,内容还是不少,要想精通这里的每一样技术,都得下苦功夫才行。半年的时间,足够你对web开发产生一个有效的认识,这个时候,再思考你进一步学习的方向

Web服务器配置

下面配置以wampserver版的apache为例,其他版本应该大同小异的。

1找到apache配置文件>

1、Django框架

优点:是一个高层次Python Web开发框架,特点是开发快速、代码较少、可扩展性强。Django采用MTV(Model、Template、View)模型组织资源,框架功能丰富,模板扩展选择最多。对于专业人员来说,Django是当之无愧的Python排名第一的Web开发框架。

缺点:包括一些轻量级应用不需要的功能模块,不如Flask轻便。过度封装很多类和方法,直接使用比较简单,但改动起来比较困难。相比于 C,C++性能,Django性能偏低。模板实现了代码和样式完全分离,不允许模板里出现Python代码,灵活度不够。另外学习曲线也相对陡峭。

2、Flask框架

优点:Flask是一个Python Web开发的微框架,严格来说,它仅提供Web服务器支持,不提供全栈开发支持。然而,Flask非常轻量、非常简单,基于它搭建Web系统都以分钟来计时,特别适合小微原型系统的开发。花少时间、产生可用系统,是非常划算的选择。

缺点:对于大型网站开发,需要设计路由映射的规则,否则导致代码混乱。对新手来说,容易使用低质量的代码创建 “不良的web应用程序”。

3、Pyramid框架

优点:是一个扩展性很强且灵活的Python Web开发框架。上手十分容易,比较适合中等规模且边开发边设计的场景。Pyramid不提供绝对严格的框架定义,根据需求可以扩展开发,对高阶程序员十分友好。

缺点:国内知名度不高,高级用法需要通过阅读源代码获取灵感。默认使用Chameleon模板,灵活度没有成为一个要素。

4、webpy框架

优点:正如其名,webpy是一个采用Python作为开发语言的Web框架,简单且强大。俄罗斯排名第一的Yandex搜索引擎基于这个框架开发,Guido van Rossum认为这是最好的Python Web框架,还需要说别的吗有事实作证、有大牛认可,用起来吧!

缺点:Webpy并未像其他框架一样保持与Python 3兼容性的最新状态。这不仅意味着缺乏对异步语法的支持,还意味着缺少对已弃用的函数的错误。此外,目前尚不清楚维护者是否有计划在Python 2到达其支持生命周期结束后保持Webpy的最新状态。

5、Tornado框架

优点:Tornado是一个基于异步网络功能库的Web开发框架,因此,它能支持几万个开放连接,Web服务高效稳定。可见,Tornado适合高并发场景下的Web系统,开发过程需要采用Tornado提供的框架,灵活性较差,确定场景后再考虑使用不迟。

缺点:Tornado 50改进了与Python的本机异步功能的集成。因此不再支持Python 33并且Python 35用户必须使用Python 352或更高版本。Tornado 60将需要Python 35及更高版本,并将完全放弃Python 2支持。

以上就是关于Python3+Gunicorn+Nginx 部署Flask项目全部的内容,包括:Python3+Gunicorn+Nginx 部署Flask项目、如何用python做web开发 django环境配置、weblogic能部署python+Django开发的web应用吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9879649.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存