应用部署之Flask项目部署到linux环境
开发人员使用python语言开发了一个基于flask框架的应用程序,需要部署到linux系统环境中。Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,开发人员分工合作,小型团队在短时间内就可以完成功能丰富的中小型网站或Web服务的实现。另外,Flask还有很强的定制性,用户可以根据自己的需求来添加相应的
一、需求及环境说明
1、需求
开发人员使用python语言开发了一个基于flask框架的应用程序,需要部署到linux系统环境中。Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,开发人员分工合作,小型团队在短时间内就可以完成功能丰富的中小型网站或Web服务的实现。另外,Flask还有很强的定制性,用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。应用程序本身就是一个app.py程序,有一些依赖软件,为了满足需求和避免与其他应用的冲突,最佳实践是使用python虚拟环境的方式部署。
2、环境说明
系统及应用软件版本说明:
- 操作系统:CentOS release 6.10
- python版本:3.8.5
- click==7.1.2
- Flask==1.1.2
- Jinja2==2.11.2
- PyMySQL==0.10.1
二、部署步骤
1、安装anaconda3
下载anaconda3
[wuhs@datanode02 ~]$ wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh
给Anaconda3-2020.11-Linux-x86_64.sh文件添加执行权限
[wuhs@datanode02 ~]$ chmod u+x Anaconda3-2020.11-Linux-x86_64.sh
安装anaconda3
[wuhs@datanode02 ~]$ bash Anaconda3-2020.11-Linux-x86_64.sh
详细的安装步骤可以参考博文Linux之anaconda3安装及使用
2、根据requirements.yml创建虚拟环境
根据开发提供的requirements.yml文件创建python虚拟环境
[wuhs@test1 ~]$ conda env create -f requirements.yml -n flaskProject
…
done
#
# To activate this environment, use
#
# $ conda activate flaskProject
#
# To deactivate an active environment, use
#
# $ conda deactivate
3、激活虚拟环境
[wuhs@test1 ~]$ conda activate flaskProject
(flaskProject) [vanfon@datanode02 flaskProject]$
4、上传程序包
创建项目目录
[wuhs@test1 ~]$ mkdir flaskProject
(flaskProject) [vanfon@datanode02 flaskProject]$ ll
total 32
-rw-r–r-- 1 wuhs wuhs 18075 Apr 7 13:35 app.py
-rw-r–r-- 1 wuhs wuhs 704 Apr 7 13:35 DateUtil.py
5、配置pywsgi监听地址和端口
[wuhs@test1 flaskProject]$ vim app.py
6、启动python程序
编写启动脚本
$ vim start.sh
#!/bin/bash
\
source activate
conda activate flaskProject
sleep 1
nohup python -u app.py > out.log 2>&1 &
$ chmod u+x start.sh
$ sh start.sh
7、检查验证
(flaskProject) [wuhs@test1 flaskProject]$ netstat -tnpl |grep 5000
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 0.0.0.0:5000 0.0.0.0:* LISTEN 1794/python

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)