【Linux】部署 flask

文章目录

一、安装Python3环境

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

bash 复制代码
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

2.从官网下载python3的源码

bash 复制代码
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz

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

bash 复制代码
tar -xvJf Python-3.6.2.tar.xz

cd Python-3.6.2

./configure prefix=/usr/local/python3

make && make install

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

bash 复制代码
ln -s /usr/local/python3/bin/python3 /usr/bin/python3

执行命令

bash 复制代码
python3 -V 

python -V #将会看到python2的版本

5.创建pip软连接

bash 复制代码
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
pip3 -V #将会看到pip3的版本
pip3 install --upgrade pip  更新pip3

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

1.在的开发环境中,cmd来到项目的目录下执行:

bash 复制代码
 pip3 freeze >requirements.txt

certifi2018.4.16
chardet3.0.4

idna2.7
requests2.19.1

urllib3==1.23

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

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

三、创建虚拟环境

切换到pip3所在的目录

bash 复制代码
cd  /usr/local/python3/bin

安装虚拟环境

bash 复制代码
pip3 install virtualenv

这里如果报错证明你的pip3版本过低使用国内镜像进行更新

bash 复制代码
pip3 install --upgrade pip -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

创建虚拟环境 ENV

bash 复制代码
virtualenv ENV

这里会显示无命令,是因为路径问题

bash 复制代码
vi /etc/profile

进入编辑模式,在底部加入一行代码

bash 复制代码
PATH=$PATH:/usr/local/python3/bin

启用虚拟环境

bash 复制代码
cd ENV 切换到虚拟环境所在的目录
source ./bin/activate 启用虚拟环境
pip3 install -r requirements.txt 安装依赖清单里的库

退出虚拟环境

bash 复制代码
deactivate

四、添加自定义系统服务(很重要)

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

bash 复制代码
python xxx.py &

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

1.创建系统服务

bash 复制代码
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文件的全路径也是可以的。

bash 复制代码
systemctl enable robot  启用自定义系统服务

systemctl start robot  启动服务

ps aux|grep robot   可以查看进程,确认一下服务是否启动
相关推荐
weigangwin13 小时前
agent-workspace-linux 不是远程桌面:Linux AI 工作区的隔离边界验收
linux·xvfb·mcp·桌面隔离·权限边界·bubblewrap·agent-workspace
renhongxia113 小时前
世界模型,是“空中楼阁”还是AGI的“最后一块拼图”?
运维·服务器·数据库·人工智能·算法·agi
Dovis(誓平步青云)14 小时前
远程办公软件文件传输实测:6 款工具的速度、稳定性和办公体验对比
linux·运维·服务器·后端·生成对抗网络
Java小白笔记15 小时前
Docker 安装配置完全指南:MacOS 、Windows、Linux环境下的安装、配置与验证
linux·macos·docker
csdn_aspnet15 小时前
GitHub Actions自动化运维实战,用CI/CD流水线实现测试、部署、安全扫描一体化
运维·安全·ci/cd·自动化·github
Inhand陈工17 小时前
数据中心UPS无功补偿与智能化监控方案:基于IG502的Modbus RTU转IEC61850实战
运维·人工智能·物联网·信息与通信
qetfw17 小时前
CentOS 7 搭建 LDAP 目录服务
linux·运维·centos
ALINX技术博客17 小时前
【黑金云课堂】FPGA技术教程Linux开发:系统进阶-PS DMA
linux·fpga开发
IT方大同18 小时前
linux简介
linux·运维·服务器
Dear~yxy18 小时前
时间同步服务器搭建
运维·服务器