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 updatesudo 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/flaskappcd /home/user/flaskapp步骤 5 – 设置虚拟环境
使用虚拟环境可以帮助你高效地管理 Python 依赖。运行以下命令来创建并激活虚拟环境:
python3 -m venv flaskappenvsource 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 myprojectAfter=network.target
[Service]User=userGroup=www-dataWorkingDirectory=/home/user/flaskappEnvironment="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 flaskappsudo 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 应用了。