flask+uwsgi+nginx部署网站

news/2024/5/17 17:36:35/文章来源:https://blog.csdn.net/weixin_34032827/article/details/92441024

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1.写在前面        

       本文重要介绍,flask框架写的web网站如果正确部署在正常环境中。因为flask自带的web服务不足以支持实际使用情况。只是方便开发人员调试开发,并不具备可靠的性能。 以下介绍适用于实际生产环境所使用的部署方式。

       flask+uwsgi+nginx,这种模式,首先分别介绍一下。是什么,分别起到什么作用。flask,是一种python开发web的一种框架,类似的还有django,flask比较轻量,django适合大型项目。 flask框架写的web,通常可以直接运行起来就可以访问web了。但是这种方式只适合开发调试,前面已经提过。实际是它内部有一个web服务,叫wsgi。这个东西不是很全,只是作为部分被提供在flask框架内。生产环境中,需要另外的web服务来挂起flak写的网站。通常这个web服务就是uwsgi。稍后我们会讲到,怎么去安装配置uwsgi; 而对于nginx,它扮演的是反向代理角色。在大型项目里面常常扮演者反向代理和负载均衡的角色。  什么意思呢,就是用户发送的请求,全部通过这个nginx服务,nginx会去请求真正的内容服务器,也就是我们部署好的,uwsgi服务。uwsgi服务将用户需要的网页和数据,送到nginx服务那,再由nginx推送给用户。这个过程,对于用户来说,只和uwsgi服务发生关系。真正的内容服务器是不可见的。 所以从安全的角度来说,这无疑更安全。 另外一个原因选择nginx,是由于nginx服务性能很稳定,高并发能力强。

       接下来,说说部署步骤

2.安装步骤

a.部署flask+uwsgi

这一步,我在前面的文章里面已经写过了。不在复述。链接如下:

https://my.oschina.net/RabbitXiao/blog/1583662

b.安装nginx


#通过yum安装nginx
sudo yum install nginx#启动nginx服务
sudo systemctl start nginx#设置开机自启动sudo systemctl enable nginx

 

如果上面安装没有错误的话。此时在你客户端浏览器上输入你的服务器ip,回车,即可出现nginx的默认欢迎首界面。这就说明我们配置成功了。接下来就是该nginx的配置文件,将我们的uwsgi服务和nginx关联起来,起到一个反向代理的作用。

 

c.配置nginx

如果你是通过yum进行安装,没有改变yum的安装路径的情况下,一般nginx的配置文件会在/etc/nginx/nginx.conf这儿。这个就是我们需要修改的配置文件

输入指令

vim /etc/nginx/nginx.conf

如下图

194152_eL7F_1455020.png

说明: include /etc/nginx/conf.d/*.conf;这个地方的意思是,我们可以在/etc/nginx/conf.d/目录下,自定义我们自己的配置文件,文件名以xxxx.conf命名即可。对于多个网站同时挂载在ngnix上的时候,可以讲不通的站点配置文件,分别存放。

 

server_name 对应的是你的公网ip地址,当然也可以填写域名。都可以!

圈起来的部分,目的就是配置uwsgi与nginx的关系,建立起联系。这样nginx就代理了uwsgi。

安装图中圈起来的填写即可。但是有一点需要注意的是,uwsgi_pass  127.0.0.1:8001这个地方的内容填写是根据uwsgi的配置文件来的。如果你的配置文件里面配置的不是这个地址,那么你还这么填将会导致失败。楼主的uwsgi的配置文件如下:

  1 [uwsgi]2 #uwsgi启动时,所使用的地址和端口(这个是http协议的)#此处可以填写0.0.0.0:5050,这样外网就可以访问了,但是如果我们用了代理服务器,比如nginx,那么处于安全考虑,这个#地址不可以暴露出去,所以填写的127.0.0.1:5050.这样,用户只能访问nginx代理服务器,而不直接与uwsgi服务器发生关系3 http=127.0.0.1:505045 #uwsgi 启动时所使用的地址与端口(这个是socke协议)6 socket=127.0.0.1:8001789 #指向网站目录10 chdir=/home/rabbit/package/OnlyVideoSourceModel1112 #python 启动程序文件1314 wsgi-file=manage.py1516 #python 程序内用以启动的application 变量名1718 callable=app192021 #处理器数2223 processes=42425 #线程数2627 threads=22829 #状态检测地址3031 stats=0.0.0.0:91953233
~
~

我们可以看到上面的配置文件有一个socket=0.0.0.0:8001。这个就是上面配置nginx时候,需要对应填写的。所以应个人环境而异。不要直接粘贴。

配置完后,停止nginx,然后重启nginx。

#停止nginx
systemctl stop nginx.service#启动nginxsystemctl start nginx.service

 

然后再本地浏览器上输入服务器的公网ip地址(不需要带端口,nginx默认就是80端口),不出意外,就可以看到我们部署好flask网站了。

比如下面:

195913_EJW0_1455020.png

祝大家能一次配置成功!!!。如果有什么问题,在下面评论,或者加本人qq:739462304

或者微信

 

 

 

 

 

  

转载于:https://my.oschina.net/RabbitXiao/blog/1787578

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_754957.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一个服务器上可以放几个网站,一个云服务器上可以放几个网站吗

一个云服务器上可以放几个网站吗 内容精选换一换内网域名解析是基于VPC网络的域名解析过程,通过华为云内网DNS把域名(如ecs.com)转换成私网IP地址(192.168.1.1)。内网域名解析实现云服务器在VPC内直接通过内网域名互相访问。同时,还支持不经公网&#xf…

关于“网上社会实践”网站的设计

前段时间,辅导员发了一封邮件,是关于学校要建设“网上社会实践”创新项目的通知。因为广外学习ASP.NET的人不多,所以不出意外地是我接了。 这个项目是用于学生网上社会实践的东西。也是一个创新项目来的。但是这些对于我们学技术的人来说&…

京东一面:如何用 Nginx 禁止国外 IP 访问网站,直接凉凉!

点击上方“Java基基”,选择“设为星标”做积极的人,而不是积极废人!每天 14:00 更新文章,每天掉亿点点头发...源码精品专栏 原创 | Java 2021 超神之路,很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析网络应用框…

Slog50_支配vue框架初阶项目之博客网站-单页-客户端(浏览器)更新头像2

ArthurSlogSLog-50Year1GuangzhouChinaAug 26th 2018GitHub掘金主页简书主页segmentfault要成就一番事业 既要靠本事上位 又得懂拉拢站队 开发环境MacOS(High Sierra 10.13.5) 需要的信息和信息源: 统一资源定位符(URL)XMLHttpRequestvue模版语法 v-bindFormDataFor…

使用Apache服务部署静态网站

使用Apache服务部署静态网站 1.网站服务程序Web网络服务,一般是指允许用户通过浏览器访问到互联网中各种资源的服务。Apache程序是目前拥有很高市场占有率的Web服务程序之一,其跨平台和安全性广泛被认可且拥有快速、可靠、简单的API扩展。Apache也是RHEL…

基于SpringBoot+MyBatis+Vue的音乐网站

点击上方“Java基基”,选择“设为星标”做积极的人,而不是积极废人!每天 14:00 更新文章,每天掉亿点点头发...源码精品专栏 原创 | Java 2021 超神之路,很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析网络应用框…

使用VS2012开发的网站或者webservice在IIS6.0上发布的注意事项

由于新版的VS2012的出现,很多人转而使用VS2012作为开发工具,微软每次新的版本都会新增一些功能,带给我们不少的惊喜,但是在VS2012或者VS2010下开发的网站或者webservice在部署时要注意了,由于VS2010以上版本的.net fra…

流量排名前一千万网站,三分之一使用 WordPress

WordPress 在官博发文,庆祝它在流量排名前一千万网站中的市场占有率达到了三分之一。据 W3Techs 的数据,WordPress 在前一千万网站的市场份额从一年前的 29.9% 上升到了现在的 33.4%。WordPress 表示对此非常自豪。 作为开源内容管理系统的 WordPress&am…

大型网站技术架构(六)网站的伸缩性架构

2019独角兽企业重金招聘Python工程师标准>>> 网站系统的伸缩性架构最重要的技术手段就是使用服务器集群功能,通过不断地向集群中添加服务器来增强整个集群的处理能力。“伸”即网站的规模和服务器的规模总是在不断扩大。 1、网站架构的伸缩性设计 网站的…

30个免费下载高质量精美照片素材的网站(转)

在设计中使用免费的照片素材可以节省大量的时间。网络有有很多分享照片资源的网站,有些是免费的,有些则需要付费,当你在设计中使用网上的照片素材的时候要注意使用协议以免带来麻烦。今天这篇文章向大家推荐30个国外的免费下载高质量精美图片…

html显示日志_seo优化的网站日志分析

网站日志相信这个名词,站长们不知道。大多数站长只知道网站日志的概念,不知道网站日志的分析。其实网站日志的分析也是一个很重要的SEO话题。网站日志应该说每个站长都要懂得分析,这是每个站长必备的技术。要知道网站日志的分析方法&#xff…

php开发小说数据问题,小说类网站开发之创建数据库与建立数据表

php开发后端中最重要的一个环节就是创建数据库与建立数据表,因为他和整个项目都有直接的关系,所以,我们首先建立几个数据表,为后面写程序垫下基础首先我们先去建立数据库文章然后查询数据库这里我们写的是小说站,我就建…

linux c多进程多线程,等待进程 - Linux C进程与多线程入门_Linux编程_Linux公社-Linux系统门户网站...

问题在创建进程这一节内容中,我们看到,消息的输出是父子进程交替输出,且父进程在子进程之前结束。如果要安排父进程在子进程结束之后才结束。可以调用wait函数。函数说明pid_t wait(int * stat_loc)包含的头文件: #include #include 返回值&a…

有哪些网站是django开发的_想要定制开发下单网站需要准备哪些内容?

引言:企业对外推广少不了要有一个形象网站,如果不能通过模板网站满足企业建站需求,大多数情况下是需要定制开发网站的。想要定制开发网站或设计定制网站,都需要准备什么呢?网慧科技小编帮您捋清这4个问题可以避免晕头转…

6页面跳转_SEO优化的高级玩法,半年权重6,日均流量过万!

老老实实做内容,发现竟然抵不过seoer的高级玩法。我只能说给大神跪了。这个玩法是真实可操作的,是一个朋友在请教我一个seo问题的时候,给我发了一个网站,让我分析分析,然后本着钻研的精神,研究了那个网站的…

换服务器影响网站排名,网站更换服务器空间会影响排名吗

做seo的都知道,网站空间不稳定会影响SEO优化的效果,因为会降低搜索引擎对于网站的信任度判断,特别是最近使用香港空间的网站,会经常性遇到网站无法打开,或者打开速度非常慢,为了彻底解决稳定问题&#xff0…

网站服务器接收数据,科学网—TCP服务器接收数据 - 杨杭的博文

1.在pycharm中编写如下服务器端代码import structfrom socket import *#创建套接字s socket(AF_INET, SOCK_STREAM)#绑定端口HOST1********* #需要指定服务器IP地址PORT8080s.bind((,8089)) #绑定的是本机,端口为8089s.listen()#接收客户端的连接client_socket, cl…

64位虚拟机下asm()语法_2.0正式版系统使用宝塔虚拟机建站

本教程适用于树莓派爱好者基地64位系统2.0正式版使用,1.0正式版使用宝塔虚拟机的教程在前面已经发了,请根据自己使用的系统选择相应的教程!本教程教大家使用宝塔虚拟机,大大降低大家在树莓派上面建站的难度!&#xff0…

wordpress是php文件路径,wordpress怎么输出网站文件路径

WordPress获取网站相关文件路径可以通过相关的函数来获取和输出。WordPress中可以通过相关函数获取站点路径、主题文件路径、插件文件路径等。具体输出路径方法如下:站点路径相关函数home_url()返回站点路径,相当于后台设置->常规中的”站点地址(URL)…

nginx访问服务器响应慢_网站访问慢?不要让你的网站输在服务器上

建网站如果把域名看做是地址、那么网站的服务器(空间)就是一套房子,既然是一套房子,那就有很多方面的讲究如:地段、户型、朝向、面积、开发商、物业、配套设施等等。服务器(空间)也是一样,有CPU、内存、带宽、机房、安全维护、服务…