• 2台nginx只需配置一台,另外一台直接生效


    配置文件更新与应用重启脚本使用指南

    需求说明

    需要一个脚本来完成以下任务:

    1. 修改 /data/THS/conf/httpserver.conf 文件后重启本地应用。
    2. /data/THS/conf/httpserver.conf 文件拷贝到远程服务器 192.142.8.82/data/THS/conf/ 目录下,覆盖远程的 httpserver.conf 文件。
    3. 在远程服务器上重启应用。

    具体的重启命令如下:

    • 先执行 /data/THS/bin/start.sh stop
    • 然后执行 /data/THS/bin/start.sh start

    远程服务器的用户是 root,需要配置免密登录。

    实现方案

    脚本内容

    以下是实现需求的脚本,包含必要的中文注释:

    #!/bin/bash
    
    # 定义变量
    LOCAL_CONF="/data/THS/conf/httpserver.conf" # 本地配置文件路径
    REMOTE_USER="root" # 远程服务器的用户名
    REMOTE_HOST="192.142.8.82" # 远程服务器IP
    REMOTE_CONF="/data/THS/conf/httpserver.conf" # 远程配置文件路径
    START_SCRIPT="/data/THS/bin/start.sh" # 启动脚本路径
    
    # 本地重启应用函数
    restart_local() {
      echo "正在重启本地应用..."
      $START_SCRIPT stop
      $START_SCRIPT start
      echo "本地应用已重启。"
    }
    
    # 远程重启应用函数
    restart_remote() {
      echo "正在重启远程82的应用 ($REMOTE_HOST)..."
      ssh $REMOTE_USER@$REMOTE_HOST "$START_SCRIPT stop"
      ssh $REMOTE_USER@$REMOTE_HOST "$START_SCRIPT start"
      echo "82远程应用 ($REMOTE_HOST) 已重启。"
    }
    
    # 拷贝配置文件到远程服务器
    copy_conf_to_remote() {
      echo "正在将配置文件复制到远程服务器82..."
      scp $LOCAL_CONF $REMOTE_USER@$REMOTE_HOST:$REMOTE_CONF
      echo "配置文件已复制到远程服务器。"
    }
    
    # 主执行流程
    echo "开始执行脚本..."
    
    # 重启本地应用
    restart_local
    
    # 拷贝配置文件到远程服务器
    copy_conf_to_remote
    
    # 重启远程应用
    restart_remote
    
    echo "脚本执行完毕。目前所在IP为81"
    

    使用步骤

    1. 保存脚本

      将上述脚本内容保存为 update_and_restart.sh 文件。

    2. 赋予执行权限

      使用以下命令赋予脚本可执行权限:

      chmod +x update_and_restart.sh
      
    3. 执行脚本

      运行脚本

      ./update_and_restart.sh
      

    脚本功能

    1. 定义变量

      定义本地和远程的配置文件路径、远程服务器的用户名和IP地址,以及启动脚本的路径。

    2. 本地重启应用

      通过调用停止和启动脚本来重启本地应用。

    3. 拷贝配置文件到远程服务器

      使用 scp 命令将本地的配置文件复制到远程服务器对应路径。

    4. 远程重启应用

      通过 SSH 连接到远程服务器并执行停止和启动命令。

    免密登录配置

    为了实现远程操作无需密码输入,需要配置 SSH 免密登录。以下是配置步骤:

    1. 生成 SSH 密钥对

      在本地主机上执行以下命令生成 SSH 密钥对:

      ssh-keygen -t rsa
      

      按提示操作,生成的密钥对默认保存在 ~/.ssh/ 目录下。

    2. 拷贝公钥到远程服务器

      使用 ssh-copy-id 命令将公钥复制到远程服务器:

      ssh-copy-id root@192.142.8.82
      

      之后,登录远程服务器将无需输入密码。

    总结

    按照上述步骤和脚本内容,可以实现本地和远程应用的重启及配置文件的同步更新。确保脚本中的路径和服务器信息正确无误,执行过程会顺利完成。

  • 相关阅读:
    在湖北考一个安全员c3住建厅安全员c证持证上岗
    宝,运维100+服务器很头疼怎么办?用行云管家!
    Qt实现三次样条Cardinal曲线
    【HTML——旋转火焰】(效果+代码)
    会计分录-初级会计职称
    .NET Reactor简单使用教程
    详解module.exports与exports,export与export default,import 与require
    【SA8295P 源码分析 (四)】35 - QNX侧 Marvell 88Q5152 Phy_Switch 导通实录(硬核)
    批量修改/插入数据库的时候究竟该怎么选择?
    15个小技巧,助你源码阅读事半功倍
  • 原文地址:https://blog.csdn.net/u011197085/article/details/139665534