服务器python项目部署

角色:root, 其他用户应该也可以

1. 安装python3环境

powershell 复制代码
#如果是新机器,尽量执行,避免未知报错
yum -y update 

python -v
yum install python3
python3 -v

2. 使用virtualenvwrapper 创建虚拟环境,并使用workon切换不同的虚拟环境

powershell 复制代码
# 安装virtualenvwrapper
pip3 install virtualenvwrapper  -i https://mirrors.aliyun.com/pypi/simple/

# 修改path路径
vi ~/.bashrc

文件末尾填充---start---
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh

文件末尾填充---end---

# 执行命令加载配置
source ~/.bashrc

# 创建虚拟环境py_vps_env
cd /root/.virtualenvs
python3 -m venv py_vps_env

3. 使用supervisor守护进程

  • 下载supervisor
powershell 复制代码
yum install -y epel-release
yum install -y supervisor
systemctl enable supervisord
systemctl start supervisord
  • 新建supervisor的启动配置文件
powershell 复制代码
touch /etc/supervisord.d/config.conf
vi /etc/supervisord.d/config.conf
  • 填充config.conf内容
powershell 复制代码
[program:vps_proxy]
directory=/data/ROOT/vps_proxy
command=/root/.virtualenvs/py_vps_env/bin/python /data/ROOT/vps_proxy/adsl_auto.py
autostart=true     ; 在 supervisord 启动的时候也自动启动
startsecs=5        ;启动5 秒后没有异常退出,就当作已经正常启动了
autorestart=true   ; 程序异常退出后自动重启
startretries=3     ; 启动失败自动重试次数,默认是 3
user=root        ; 用哪个用户启动,要与当前用户保持一致
redirect_stderr=true  ; 把 stderr 重定向到 stdout,默认 false
stdout_logfile_maxbytes = 20MB  ; stdout 日志文件大小,默认 50MB
stdout_logfile_backups = 20
stdout_logfile = /data/ROOT/vps_proxy/logs/adsl_info.log
stderr_logfile = /data/ROOT/vps_proxy/logs/adsl_error.log
loglevel=info
killasgroup=true ;许杀死该进程组内的所有进程
stopasgroup=true ;允许停止该进程组内的所有进程
  • 修改supervisord.conf配置文件
powershell 复制代码
#在最后一行
#[include]
#files = supervisord.d/*.ini
将supervisord.d/*.ini修改为:supervisord.d/config.conf


supervisorctl update
supervisorctl status
  • 启动python进程
powershell 复制代码
cd /data/ROOT/vps_proxy
workon py_vps_env
pip3 install -r requirements.txt  -i https://mirrors.aliyun.com/pypi/simple/
#nohup /root/.virtualenvs/py_vps_env/bin/python /data/ROOT/vps_proxy/adsl_auto.py &
supervisorctl start vps_proxy
相关推荐
蹦蹦跳跳真可爱5892 分钟前
Python----卷积神经网络(卷积为什么能识别图像)
人工智能·python·深度学习·神经网络·计算机视觉·cnn
geovindu11 分钟前
PyCharm 2023升级2024 版本
ide·python·pycharm
几度泥的菜花18 分钟前
优雅实现网页弹窗提示功能:JavaScript与CSS完美结合
开发语言·javascript·css
weixin_3077791320 分钟前
AWS Glue ETL设计与调度最佳实践
开发语言·数据仓库·云计算·etl·aws
roc-ever38 分钟前
用Python做有趣的AI项目5:AI 画画机器人(图像风格迁移)
人工智能·python·深度学习
群联云防护小杜41 分钟前
云服务器被黑客攻击应急响应与加固指南(上)
运维·服务器·人工智能·tcp/ip·自动化·压力测试
兜小糖的小秃毛1 小时前
文号验证-同时对两个输入框验证
开发语言·前端·javascript
不爱学英文的码字机器1 小时前
数字孪生的浪潮:从虚拟镜像到现实世界的 IT 变革
大数据·python
小白—人工智能1 小时前
数据可视化 —— 直方图
python·信息可视化·数据可视化
老秦包你会1 小时前
Linux课程五课---Linux进程认识1
linux·运维·服务器