当前位置: 首页 > news >正文

Linux部署Python服务

1、创建项目目录与虚拟环境

#确保安装 Python 和 python3-venv 工具
sudo apt update
sudo apt install python3 python3-pip python3-venvmkdir myproject
cd myproject
python3 -m venv venv  # 创建虚拟环境#Linux
source venv/bin/activate  # 激活虚拟环境#Windowds
venv\Scripts\activate   # 激活虚拟环境

2、安装依赖库

#研发环境导出依赖文件
pip freeze > requirements.txt#依赖安装
pip install -r requirements.txt#验证安装成功
pip freeze

接下来可以使用 systemd 或 Supervisor 来管理 Python 程序。 

3、使用 systemd 管理程序

3.1、创建 systemd 服务文件

vi /etc/systemd/system/myapp.service[Unit]
Description=IRS Python Application    #服务的描述
After=network.target      #确保服务在网络可用后启动[Service]
User=root   #指定哪个用户运行该程序。通常推荐创建一个专用的用户运行服务。
WorkingDirectory=/data/irs   #设置 Python 程序所在的目录
ExecStart=/data/irs/venv/bin/python /data/irs/run.py  #指定程序的启动命令,确保使用的是虚拟环境中的 Python 解释器
Restart=always  #如果程序崩溃,systemd 会自动重启该服务
StandardOutput=syslog   #将输出重定向到系统日志
StandardError=syslog
SyslogIdentifier=irs[Install]
WantedBy=multi-user.target

3.2、服务命令

#重新加载 systemd 配置
sudo systemctl daemon-reload#设置服务开机自启:
sudo systemctl enable irs#服务启动
sudo systemctl start irs#服务重启
sudo systemctl restart irs#服务状态
sudo systemctl status irs

3.3、查看日志

journalctl -u irs.service -f  # 实时查看日志tail -f /var/log/messages 


文章转载自:
http://abase.wjrtg.cn
http://aaal.wjrtg.cn
http://bedspread.wjrtg.cn
http://biconcave.wjrtg.cn
http://bavarian.wjrtg.cn
http://babbler.wjrtg.cn
http://barbette.wjrtg.cn
http://bathwater.wjrtg.cn
http://africanist.wjrtg.cn
http://aminophylline.wjrtg.cn
http://cholinomimetic.wjrtg.cn
http://anoscope.wjrtg.cn
http://chromascope.wjrtg.cn
http://abask.wjrtg.cn
http://caradoc.wjrtg.cn
http://brahma.wjrtg.cn
http://bonspiel.wjrtg.cn
http://checkroom.wjrtg.cn
http://alimony.wjrtg.cn
http://canulate.wjrtg.cn
http://catchpenny.wjrtg.cn
http://adapt.wjrtg.cn
http://checksummat.wjrtg.cn
http://basle.wjrtg.cn
http://armenian.wjrtg.cn
http://airburst.wjrtg.cn
http://bedsore.wjrtg.cn
http://bortsch.wjrtg.cn
http://antipyretic.wjrtg.cn
http://alkaline.wjrtg.cn
http://www.dtcms.com/a/280107.html

相关文章:

  • 面向医疗AI场景的H20显卡算力组网方案
  • 2025开放原子开源生态大会 | 开源欧拉的AI原生实践与全球协作
  • 应用部署作业-02-流程
  • 第十四章 Stream API
  • 深度强化学习 | 图文详细推导深度确定性策略梯度DDPG算法
  • 波动回升正当时!期权合成多头:震荡市攻守兼备利器
  • 深入解析环境变量:从基础概念到系统级应用
  • 用uniapp开发鸿蒙应用(暂停更新-根据项目更新,现在项目未开始)
  • QT简介和QT环境搭建
  • JVM——JVM 的内存区域是如何划分的?
  • Go从入门到精通(24) - 一个简单web项目-添加redis缓存
  • 教育培训机构如何为课程视频添加防盗录的强水印?
  • IPM31主板E3300usb键盘鼠标安装成功Sata接口硬盘IDE模式server2003-nt-5.2.3790
  • AI生成代码示例
  • 【自学linux】计算机体系结构和操作系统第二章
  • LangChain面试内容整理-知识点18:Chroma 向量数据库集成
  • 3.1k star!推荐一款开源基于AI实现的浏览器自动化插件工具 !
  • 蓝牙信号强度(RSSI)与链路质量(LQI)的测量与应用:面试高频考点与真题解析
  • GitCode疑难问题诊疗技术文章大纲
  • 3种添加视频水印的加密方式,守护视频安全!
  • 音视频学习(三十九):IDR帧和I帧
  • LeetCode|Day13|88. 合并两个有序数组|Python刷题笔记
  • GaussDB 数据库架构师修炼(四) 备份容量估算
  • SQLite技术架构解析,适用场景有哪些?
  • 邮件伪造漏洞
  • 基于 AI 的大前端安全态势感知与应急响应体系建设
  • 【SVN】设置忽略规则
  • Python Docker SDK库详解:从入门到实战
  • el-table中type=“selection“选中数据如何回显
  • 半导体制造流程深度解析:外观缺陷检测的AI化路径与实践