IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 2021-11-16 flask部署在windows云服务器上进行公网访问 -> 正文阅读

[Python知识库]2021-11-16 flask部署在windows云服务器上进行公网访问

准备工作

腾讯云轻量应用服务器

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

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

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

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

  1. 重置用户名和密码
    在这里插入图片描述
  2. 配置端口
    防火墙基本应用端口已打开,我们只需要添加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查看是否安装成功(httpd后没有报错就行,这一步检查可省略)
在这里插入图片描述
这里是公网配置好之后输入https://localhost才能看到Apache配置默认出现的界面。云防火墙在没添加8080端口时localhost就是Apache默认界面。这时候连接还是http连接。

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目录下
修改的地方有三处:

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

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

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


<VirtualHost *>
    ServerName example.com
    WSGIScriptAlias / c:\pythonfile\testweb.wsgi
    <Directory c:\pythonfile\>
        Require all granted
    </Directory>
</VirtualHost>

测试

添加web测试实例

  1. 安装Flask
pip install Flask
  1. 创建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()

  1. 创建wsgi文件
import sys

#app's path

sys.path.insert(0,'C:\pythonfile')

from main import app
#initialize WSGI app object
application = app

  1. 修改Apache配置
    添加位置在配置文件的最后面。
<VirtualHost *>
    ServerName example.com
    WSGIScriptAlias / c:\pythonfile\testweb.wsgi
    <Directory c:\pythonfile\>
        Require all granted
    </Directory>
</VirtualHost>
  1. c:\pythonfile 目录
    python文件目录

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

云服务器本地测试

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

公网测试

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

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

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

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-11-17 12:43:00  更:2021-11-17 12:43:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 1:17:29-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码