把Flask项目部署到Linux服务器

软件:

把Flask项目部署到Linux服务器

第一步:安装Python3环境

1.首先安装编译环境(后续需要从python官网获取Python3的源码自己编译python

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

2.从官网下载python3的源码

3.6.2

wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz

3.8.8

wget https://www.python.org/ftp/python/3.8.8/Python-3.8.8.tgz

解压tgz文件
1,解压到当前文件夹
输入:tar zxvf 文件名.tgz -C ./ 比如我的是:tar zxvf simple-examples.tgz -C ./
2,解压到指定文件夹下
输入:tar zxvf 文件名.tgz -C /指定路径
拓展:压缩文件的命令为如下
输入: tar -cf 要压缩的文件名.tar *

3.依次执行 解压>进入解压后的目录>编译安装

tar -xvJf  Python-3.6.2.tar.xz
cd Python-3.6.2
./configure prefix=/usr/local/python3
make && make install

4.安装完毕,创建python3软连接

ln -s /usr/local/python3/bin/python3 /usr/bin/python3
执行命令
python3 -V #将会看到python3的版本
执行命令
python -V #将会看到python2的版本

5.创建pip软连接

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
执行命令
pip3 -V #将会看到pip3的版本
更新pip3
pip3 install --upgrade pip

第二步:将本地开发环境的依赖项目生成清单文件

1.在本地的开发环境中,env下执行:

pip3 freeze >requirements.txt

清单文件将会生成在当前项目目录下,内容如下所示

certifi==2018.4.16
chardet==3.0.4
idna==2.7
requests==2.19.1
urllib3==1.23

将生成后的文件上传到linux服务器

2.将Python项目上传到服务器

把Flask项目部署到Linux服务器

第三步:在linux服务器上为项目创建虚拟环境,并安装项目所需的依赖

1.切换到pip3所在的目录 /usr/local/python/bin,执行以下命令

安装虚拟环境
pip3 install virtualenv

创建虚拟环境 ENV
virtualenv ENV

切换到虚拟环境所在的目录
cd ENV

启用虚拟环境
source ./bin/activate

安装依赖清单里的库
pip3 install -r requirements.txt

列出当前虚拟环境所安装的依赖库
pip3 list

第四步:添加自定义系统服务(很重要)

这样的命令在ssh终端退出后,python进程也会被杀掉
python xxx.py &

需要创建一个自定义的系统服务,来保证python程序能够在后台运行。

1.创建系统服务

vim /usr/lib/systemd/system/robot.service

内容如下:

[Unit]
Description=robot
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/python3/bin/ENV/bin/python /usr/local/python3/bin/ENV/p3.py &
PrivateTmp=true

[Install]
WantedBy=multi-user.target

ExecStart为服务启动时执行的命令,不能用相对路径, 一定要全路径。
这里也可以将命令写到任意的.sh文件中,这里写.sh文件的全路径也是可以的。

2.启用自定义系统服务

systemctl enable robot

3.启动服务

systemctl start robot

可以查看进程,确认一下服务是否启动

ps aux|grep robot

完毕!

Original: https://blog.csdn.net/qq_38316655/article/details/115840797
Author: Circle-C
Title: 把Flask项目部署到Linux服务器

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/747495/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球