在CentOS系统中,nohup
命令通常用于在后台运行程序,即使关闭终端或断开SSH连接,程序也会继续运行。以下是通过nohup
实现自动化部署的步骤:
假设你的应用程序是一个简单的Web应用,部署脚本可能包括以下步骤:
以下是一个示例脚本:
#!/bin/bash
# 应用名称
APP_NAME="myapp"
# 日志文件路径
LOG_FILE="/var/log/${APP_NAME}.log"
# 应用目录
APP_DIR="/opt/${APP_NAME}"
# 停止服务
systemctl stop ${APP_NAME}
# 下载最新代码
cd /tmp
wget http://example.com/${APP_NAME}.tar.gz -O ${APP_NAME}.tar.gz
tar -xzf ${APP_NAME}.tar.gz
mv ${APP_NAME} ${APP_DIR}
# 安装依赖
cd ${APP_DIR}
pip install -r requirements.txt
# 启动服务
nohup python app.py >> ${LOG_FILE} 2>&1 &
# 检查服务状态
systemctl status ${APP_NAME}
确保脚本有执行权限:
chmod +x /path/to/deploy_script.sh
nohup
运行脚本你可以直接使用nohup
来运行脚本,或者将其添加到系统的定时任务中。
nohup /path/to/deploy_script.sh &
编辑crontab文件:
crontab -e
添加一行来定期运行部署脚本,例如每天凌晨2点运行:
0 2 * * * /path/to/deploy_script.sh >> /var/log/deploy.log 2>&1
使用tail
命令监控日志文件,确保部署过程没有问题:
tail -f /var/log/${APP_NAME}.log
通过以上步骤,你可以使用nohup
在CentOS系统中实现自动化部署。