Flask应用部署至Ubuntu服务器的完整流程

认真发呆
认真发呆
发布时间:2026-10-13 | 5人浏览过
原创

本文详细讲解了如何将Flask Web应用部署到Ubuntu服务器。内容涵盖从项目打包、数据库迁移到Nginx反向代理配置及Uwsgi进程管理的全过程。通过具体命令示例,帮助开发者完成从本地开发环境到生产环境的平滑过渡,实现高效稳定的Web服务发布。

Flask应用部署准备

Flask是我接触的第一个Python Web框架,在完成应用开发后,下一步便是将其部署到服务器环境中。

在开始部署之前,需要准备好以下基础要素。

首先,确保拥有完整的Flask项目文件。

其次,准备一台服务器,也可以使用虚拟机代替。本文示例使用的是腾讯云提供的Ubuntu 16.04系统。

第三,需要安装Nginx服务器软件。如果对其功能不了解,建议通过搜索引擎查阅相关资料。

Nginx服务器安装与验证

首先,在服务器上安装Nginx,假设默认状态下已经安装完成。验证Nginx是否安装成功的标准是:在浏览器中访问该服务器IP时,能够看到Nginx的欢迎页面。

项目部署与数据库配置

第一步,将项目打包并传输至服务器。Nginx安装成功后,通常会在/var/www/html目录下生成默认页面。将整个项目解压并放置到/var/www/目录下。

第二步,配置数据库环境。本文示例使用MySQL,假设已默认安装成功。需要在MySQL中创建对应的数据库。接着,在终端中进入项目根目录,下图展示了我的项目目录结构,路径为/var/www/mysite_flask。

ORM模型迁移与项目运行

第三步,进入项目根目录后,执行以下命令:


python manage.py migration

该操作用于进行ORM模型的迁移映射。


python manage.py upgrade

第四步,执行后会在项目根目录下生成一个migrations目录,同时在数据库中也创建了相应的数据表。

第五步,在终端中打开Nginx配置文件。


vim /etc/nginx/sites-available/default

在配置文件中加入如下内容:


server {
  listen 80;
  server_name localhost; #云服务器的公网地址
root /var/www/html;
location / { try_files $uri @app_name; }
location @app_name{
 include uwsgi_params;
 uwsgi_pass unix:/tmp/uwsgi.sock;
}
 }

第六步,回到项目根目录,执行以下命令:


python manage.py runserver

执行后,可以看到项目已经成功运行。

Uwsgi与Nginx联合配置

此时,打开一个新的终端窗口,将Uwsgi与Nginx进行关联配置。

同样在项目根目录下,执行以下命令启动Uwsgi:


uwsgi -s /tmp/uwsgi.sock -w myapp:isa

正常运行时的效果如下所示。

以上就是本文的全部内容,希望对各位的学习有所帮助,也欢迎大家继续支持本站。

最后,在浏览器中输入服务器IP地址加上5000端口号,即可访问你的Flask项目。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表