角色:root, 其他用戶應該也可以
1. 安裝python3環境
#如果是新機器,盡量執行,避免未知報錯
yum -y update python -v
yum install python3
python3 -v
2. 使用virtualenvwrapper 創建虛擬環境,并使用workon切換不同的虛擬環境
# 安裝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
yum install -y epel-release
yum install -y supervisor
systemctl enable supervisord
systemctl start supervisord
- 新建supervisor的啟動配置文件
touch /etc/supervisord.d/config.conf
vi /etc/supervisord.d/config.conf
- 填充config.conf內容
[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配置文件
#在最后一行
#[include]
#files = supervisord.d/*.ini
將supervisord.d/*.ini修改為:supervisord.d/config.confsupervisorctl update
supervisorctl status
- 啟動python進程
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