2021 您所在的位置:网站首页 flask怎么部署到服务器 2021

2021

2023-12-02 12:38| 来源: 网络整理| 查看: 265

flask部署在windows云服务器上进行公网访问 准备工作腾讯云轻量应用服务器相关软件python 3.9Apache 2.4mod_wsgi 安装配置python 3.9 安装Apache 2.4 安装mod_wsgi 安装 测试添加web测试实例云服务器本地测试公网测试

准备工作 腾讯云轻量应用服务器

1.学生云服务器购买地址。

https://cloud.tencent.com/act/campus?from=14599

安装镜像选择Windows Server 2019 在这里插入图片描述 购买时镜像选择错误不要紧,重置应用重新选择镜像即可。

地址:腾讯云> 云产品> 轻量应用服务器> 服务器> 概要

重置用户名和密码 在这里插入图片描述配置端口 防火墙基本应用端口已打开,我们只需要添加8080端口即可。用于后面的公网访问。 在这里插入图片描述 相关软件 python 3.9

python 下载地址

https://www.python.org/downloads/

python安装时记得勾选添加环境变量

Apache 2.4

Apache 2.4下载地址

https://www.apachehaus.com/cgi-bin/download.plx

在这里插入图片描述

这是针对windows已经编译好的Apache版本

mod_wsgi

这里我们下载已经编译好的mod_wsgi

https://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi

这里要注意的是mod_wsgi版本要与python版本一致,文件名里面有提示: 在这里插入图片描述

安装配置 python 3.9 安装

python 安装非常简单,这里就不多说了

Apache 2.4 安装

Apache 2.4下载以后是个压缩包,我们解压一下,文件重命名apache放在根目录下。 修改Apache配置文件。httpd.conf 39行

C:\apache\Apache24\conf\httd.conf

在这里插入图片描述

切换到Apache bin目录下执行

cd c:\apache\Apache24\bin httpd

在这里插入图片描述

浏览器输入localhost查看是否安装成功(我是配置好之后写的博文,localhost已经看不到Apache默认界面了,这里就直接文件展示一下)

在这里插入图片描述

mod_wsgi 安装

mod_wsgi下载后的文件名不要改,否则下面的命令会出错 在这里插入图片描述

把下载的.whl文件复制到python\Scripts下使用 不知道自己python安装到哪里,命令行输入python,进行python命令行输出,得到安装目录

#python import sys print(sys.path) print(sys.path[4])

在这里插入图片描述 进入python的安装目录,进入Scripts目录

下载的.whl文件复制到python\Scripts下 在Python39\Script地址栏输入cmd进入命令行界面

#安装wsgi pip install mod_wsgi-4.9.0-cp39-cp39-win_amd64.whl #在Python39\Script目录下运行 mod_wsgi-express module-config # 会出现以下结果 LoadFile "c:/users/administrator/appdata/local/programs/python/python39/python39.dll" LoadModule wsgi_module "c:/users/administrator/appdata/local/programs/python/python39/lib/site-packages/mod_wsgi/server/mod_wsgi.cp39-win_amd64.pyd" WSGIPythonHome "c:/users/administrator/appdata/local/programs/python/python39" # 复制上面的三行输出结果

记事本打开Apache的httpd.conf。地址就在我们的C:\apache\Apache24\conf目录下 修改的地方有三处:

修改端口80为8080 httpd.conf 67行 在这里插入图片描述

在 loadmodule后添加内容,内容为我们刚才的三行输出,大概在190行 在这里插入图片描述

在httpd.conf最后添加内容(这一步可以先不做,等后面创建好实例再修改) 作用是让flask框架的main.py生效, 特别注意的是两个文件目录不要弄错,否则后面执行会报错。 在这里插入图片描述 代码:

ServerName example.com WSGIScriptAlias / c:\pythonfile\testweb.wsgi Require all granted 测试 添加web测试实例 安装Flask pip install Flask 创建Flask例子 from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): # put application's code here return 'Hello World!' if __name__ == '__main__': app.run() 创建wsgi文件 import sys #app's path sys.path.insert(0,'C:\pythonfile') from main import app #initialize WSGI app object application = app 修改Apache配置 添加位置在配置文件的最后面。 ServerName example.com WSGIScriptAlias / c:\pythonfile\testweb.wsgi Require all granted

c:\pythonfile 目录 python文件目录

重启Apache 具体是关闭上个打开Apache的cmd重新进入httpd就行

云服务器本地测试

浏览器输入 localhost:8080即可 在这里插入图片描述

公网测试

要想在公网上看到flask。要在云防火墙添加入站规则

腾讯云防火墙添加8080端口。上文有介绍

在这里插入图片描述 2. 这里用的是轻量应用服务器。如果是云服务器是在云服务器的安全组里添加入站规则然后关联实例 3. 要注意的是关闭Apache之后外网就不能访问flask了。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有