跳转到内容
无痕工具库 无痕工具库

Hostinger Ubuntu 24.04 安装 Flask 教程

Flask 是一个轻量级的开源 Python Web 框架,旨在帮助开发者轻松构建现代 Web 应用。它提供了路由、请求处理和 Jinja2 模板等核心功能,同时可通过扩展保持灵活性。凭借其简洁性、可扩展性以及强大的社区支持,Flask 是开发应用和 API 的热门选择,无论是小型原型还是大型项目都适用。

本教程将带你一步步完成在 Ubuntu 24.04 VPS 上安装 Flask、Gunicorn 和 Nginx 的过程。

步骤 1 – 通过 SSH 连接到你的 VPS

完整步骤请参阅如何通过 SSH 连接到你的 Hostinger VPS。

步骤 2 – 更新软件包列表和已安装的软件包

运行以下命令:

sudo apt update
sudo apt upgrade -y

步骤 3 – 搭建 Flask 应用

需要安装一些必要的组件,包括 Python、venv(Python 虚拟环境模块)、pip(用于管理 Python 软件包)以及 Nginx。运行以下命令安装所需的软件包:

sudo apt install python3 python3-pip python3-venv nginx -y

步骤 4 – 创建项目目录

切换到你的主目录,并运行以下命令创建一个新文件夹:

mkdir /home/user/flaskapp
cd /home/user/flaskapp

步骤 5 – 设置虚拟环境

使用虚拟环境可以帮助你高效地管理 Python 依赖。运行以下命令来创建并激活虚拟环境:

python3 -m venv flaskappenv
source flaskappenv/bin/activate

步骤 6 – 安装 Flask

虚拟环境激活后,安装 Flask 以及用于运行应用的 Gunicorn:

pip install Flask gunicorn

步骤 7 – 创建一个基础的 Flask 应用

在你的项目目录中,创建一个名为 flaskapp.py 的新文件:

nano flaskapp.py

然后添加以下代码:

from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, Flask!'
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8000)

使用 Python 运行 flaskapp.py 应用:

python3 flaskapp.py

你应该会看到确认服务器正在运行的输出。接下来,打开你的 Web 浏览器并访问 http://your\_server\_ip:8000。如果一切配置正确,页面上将显示“**Hello, Flask!**”。

步骤 8 – 创建 WSGI 入口文件

这将告诉 Gunicorn 服务器如何与应用交互。创建一个名为 wsgi.py 的新文件:

nano wsgi.py

然后在其中添加以下内容:

from flaskapp import app
if __name__ == "__main__":
app.run()

步骤 9 – 配置 Gunicorn

虚拟环境设置完成后,运行以下命令将其停用:

deactivate

这将让你返回系统默认的 Python 环境。

接下来,创建一个 systemd 服务单元文件,让 Ubuntu 的 init 系统在每次服务器启动时自动运行 Gunicorn 并提供 Flask 应用服务。

首先,在 /etc/systemd/system 目录中创建一个带 .service 扩展名的单元文件:

sudo nano /etc/systemd/system/flaskapp.service

然后添加以下内容(请将 user 替换为你的实际用户名,并将路径 /home/user/flaskapp 替换为你的实际项目路径):

[Unit]
Description=Gunicorn instance to serve myproject
After=network.target
[Service]
User=user
Group=www-data
WorkingDirectory=/home/user/flaskapp
Environment="PATH=/home/user/flaskapp/flaskappenv/bin"
ExecStart=/home/user/flaskapp/flaskappenv/bin/gunicorn --workers 3 --bind unix:flaskapp.sock -m 007 wsgi:app
[Install]
WantedBy=multi-user.target

现在你可以启动刚创建的 Gunicorn 服务,并将其设置为开机自启。要检查服务状态,可使用以下命令:

sudo systemctl start flaskapp
sudo systemctl enable flaskapp

然后检查服务状态:

sudo systemctl status flaskapp

如果服务状态中出现任何错误,请先解决这些问题,再继续本教程。

步骤 10 – 配置 Nginx

此时,Gunicorn 应用服务器应该已经在运行,并通过项目目录中的套接字文件监听请求。接下来,配置 Nginx,通过修改其配置将 Web 请求转发到该套接字。

首先,在 Nginx 的 sites-available 目录中创建一个新的服务器块配置文件。将文件命名为 flaskapp,以与本教程的其余部分保持一致:

sudo nano /etc/nginx/sites-available/flaskapp

然后添加以下内容(请务必将 your_domain 和路径替换为你项目的实际域名和路径):

server {
listen 80;
server_name your_domain www.your_domain;
location / {
include proxy_params;
proxy_pass http://unix:/home/user/flaskapp/flaskapp.sock;
}
}

要启用刚创建的 Nginx 服务器块配置,请将该文件链接到 sites-enabled 目录:

sudo ln -s /etc/nginx/sites-available/flaskapp /etc/nginx/sites-enabled

文件放入该目录后,测试是否存在语法错误:

sudo nginx -t

如果没有报告任何问题,请重启 Nginx 进程以应用新配置,命令如下:

sudo systemctl restart nginx

最后,调整防火墙设置,允许对 Nginx 服务器的完全访问:

sudo ufw allow 'Nginx Full'

大功告成!现在你应该可以在 Web 浏览器中访问你服务器的域名了!

至此,你已经搭建好了 Flask 应用,将 Gunicorn 配置为 WSGI 服务器,并创建了用于自动启动的 systemd 服务。此外,还配置了 Nginx 来转发 Web 流量。现在你可以使用这套灵活的技术栈在你的 VPS 上部署 Flask 应用了。