在Windows系统下部署Flask应用 - Nginx篇

篇在Windows系统下部署Flask应用通常涉及以下步骤:

1. 安装Flask

首先,确保你已经安装了Flask。可以使用pip进行安装:

pip install flask

2. 准备Flask应用

创建一个Flask应用,例如app.py:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'

if __name__ == '__main__':
    app.run()

3. 安装Gunicorn(可选)

虽然Gunicorn是为Unix-like系统设计的,但你可以使用uvicorn或waitress等WSGI服务器来代替Gunicorn。例如,安装uvicorn:

pip install uvicorn

4. 使用Gunicorn或WSGI服务器启动Flask应用

使用Gunicorn或类似的WSGI服务器启动你的Flask应用。如果你使用的是uvicorn,命令如下:

uvicorn app:app --host 0.0.0.0 --port 5000

这里app:app指的是app.py文件中定义的Flask应用实例。

5. 安装Nginx

在Windows上,你可以下载Nginx的Windows版本。访问Nginx官方网站下载对应的稳定版本:
http://nginx.org/en/download.html

解压下载的Nginx压缩包到某个目录,例如C:\nginx。

6. 配置Nginx

找到Nginx的配置文件nginx.conf,它通常位于解压目录的conf文件夹内。打开该文件并找到server块,配置反向代理:

server {
    listen       80;
    server_name  localhost;

    location / {
        proxy_pass http://127.0.0.1:5000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

7. 启动Nginx

在命令提示符下导航到Nginx的sbin目录,然后启动Nginx服务:

cd C:\nginx\sbin
nginx.exe

8. 访问你的Flask应用

打开Web浏览器,访问http://localhost,你应该能看到你的Flask应用页面。

请注意,在Windows系统上,你可能不需要像在Linux系统中那样设置防火墙规则,因为Nginx默认使用的是80端口,这个端口在大多数情况下是开放的。如果需要配置HTTPS,你还需要获取SSL证书,并在Nginx配置文件中相应地设置SSL相关的配置。

相关文章

Nginx 从安装到高可用入门教程

Nginx安装1、去官网http://nginx.org/下载对应的nginx包,推荐使用稳定版本2、上传nginx到linux系统3、安装依赖环境(1)安装gcc环境yum install gcc-...

Nginx从安装到高可用,一篇搞定

一、Nginx安装1、去官网http://nginx.org/下载对应的nginx包,推荐使用稳定版本2、上传nginx到linux系统3、安装依赖环境(1)安装gcc环境yum install gc...

Nginx合集-常用功能指导

1)启动、重启以及停止nginx进入sbin目录之后,输入以下命令#启动nginx ./nginx #指定配置文件启动nginx ./nginx -c /usr/local/nginx/conf/n...

Nginx的启动、停止与重启方法

启动 启动代码格式:nginx安装目录地址 -c nginx配置文件地址例如:[root@LinuxServer sbin]# /usr/local/nginx/sbin/nginx -c /usr/...

nginx启动、重启、关闭

一、启动cd usr/local/nginx/sbin./nginx二、重启更改配置重启nginxkill -HUP 主进程号或进程号文件路径或者使用cd /usr/local/nginx/sbin....

老版本nginx存在安全漏洞,请升级至1.18稳定版本

1、场景介绍部门承接了XXX局的安全防控系统,物理机部署在本地XX云上,web服务器使用nginx服务,采用动静分离的部署方式,nginx版本1.14,应XX云安全检测要求现版本暴出漏洞,需要进行版本...