Skip to content

0xfnzero/install-scripts

Repository files navigation

部署脚本使用说明

安全配置

为了保护服务器 IP 地址等敏感信息,这些脚本已经过改造,支持通过配置文件或交互式输入来管理服务器信息。

首次使用

  1. 复制配置模板

    cp servers.conf.example servers.conf
  2. 编辑配置文件

    # 使用您喜欢的编辑器打开 servers.conf
    vim servers.conf
    #
    nano servers.conf
  3. 填写您的服务器信息

    • 项目名称
    • 服务器 IP 地址
    • 用户名
    • 部署路径
  4. 保护配置文件

    chmod 600 servers.conf

交互式配置

如果您没有创建 servers.conf 文件,脚本会在运行时提示您输入服务器信息,并可选择保存配置供下次使用。

脚本说明

部署脚本

1. upload.sh

上传部署包到多个服务器

使用方法:

./upload.sh                    # 上传到所有服务器
./upload.sh -s server1         # 仅上传到指定服务器
./upload.sh -f custom.tar.gz   # 上传自定义文件

首次运行:

  • 如果没有 servers.conf,会提示交互式配置
  • 可以配置多个服务器
  • 配置会保存到 servers.conf(已加入 .gitignore)

2. deploy-remote-build.sh

使用远程编译服务器编译并部署

使用方法:

./deploy-remote-build.sh

配置项:

  • 编译服务器信息(用户名、IP、构建目录)
  • 目标服务器信息(用户名、IP、部署目录)
  • 项目名称

特点:

  • 在专用编译服务器上编译(性能更好)
  • 支持直接分发或本地中转两种方式
  • 编译完成后自动清理源代码

3. deploy-local-build.sh

本地交叉编译并部署到远程服务器

使用方法:

./deploy-local-build.sh

配置项:

  • 远程服务器信息(用户名、IP、部署目录)
  • 项目名称

特点:

  • 在本地 Mac 上交叉编译
  • 需要安装交叉编译工具链
  • 适合快速迭代开发

服务器管理脚本

startup-ubuntu.sh

在 Ubuntu 服务器上启动服务

使用方法:

./startup-ubuntu.sh [password]

密码配置方式:

  1. 命令行参数:./startup-ubuntu.sh <password>
  2. 环境变量:export WALLET_PASSWORD=xxx && ./startup-ubuntu.sh
  3. 交互式输入:运行时提示输入

stop-ubuntu.sh

在 Ubuntu 服务器上停止服务

使用方法:

./stop-ubuntu.sh

特点:

  • 优雅关闭(等待清仓)
  • 超时后提示强制停止选项

Redis 脚本

start-redis-local.sh

在本地 Mac 上启动 Redis

使用方法:

./start-redis-local.sh

特点:

  • 使用 Unix Socket 连接
  • 自动检查并安装 Redis(通过 Homebrew)
  • 守护进程模式运行

start-redis-ubuntu.sh

在 Ubuntu 服务器上启动 Redis

使用方法:

./start-redis-ubuntu.sh

install-redis-ubuntu.sh

在 Ubuntu 服务器上安装 Redis

使用方法:

./install-redis-ubuntu.sh

工具脚本

check-sensitive-info.sh

检查脚本中的敏感信息

使用方法:

./check-sensitive-info.sh

检查项:

  • 硬编码的 IP 地址
  • 硬编码的项目名称
  • 配置文件权限
  • Git 跟踪状态

安全提示

  1. 配置文件已被加入 .gitignore

    • servers.conf 不会被提交到 Git
    • 您的服务器信息保持私密
  2. 配置文件权限

    • 建议设置为 600(仅所有者可读写)
    • chmod 600 servers.conf
  3. 模板文件

    • servers.conf.example 是模板文件,可以安全提交
    • 不包含任何真实的服务器信息
  4. 敏感信息检查

    • 脚本已移除所有硬编码的 IP 地址
    • 项目名称通过配置文件管理
    • SSH 命令不再显示完整的服务器信息

配置文件格式

servers.conf 示例

# 项目配置
PROJECT_NAME="your-project-name"

# 编译服务器配置(用于 deploy-remote-build.sh)
BUILD_SERVER_USER="ubuntu"
BUILD_SERVER_HOST="your.build.server.ip"
BUILD_DIR="~/your-project-build"

# 目标服务器配置(用于 deploy-remote-build.sh)
TARGET_SERVER_USER="root"
TARGET_SERVER_HOST="your.target.server.ip"
TARGET_SERVER_DIR="/root/your-project"

# 部署服务器列表(用于 upload.sh)
DEPLOY_SERVERS=(
    "server1:user@host1:~/path1"
    "server2:user@host2:~/path2"
)

# 远程服务器配置(用于 deploy-local-build.sh)
REMOTE_USER="root"
REMOTE_HOST="your.remote.server.ip"
REMOTE_DIR="~/your-project"

故障排除

配置文件未找到

如果脚本提示找不到配置文件:

  1. 检查是否在正确的目录运行脚本
  2. 确认 servers.conf 文件存在
  3. 或选择交互式配置

权限问题

如果遇到权限错误:

chmod +x *.sh
chmod 600 servers.conf

SSH 连接问题

确保您的 SSH 密钥已配置:

ssh-copy-id user@server-ip

快速开始

查看 QUICKSTART.md 获取 5 分钟快速配置指南。

脚本列表

部署脚本

  • upload.sh - 上传部署包到服务器
  • deploy-remote-build.sh - 使用远程编译服务器部署
  • deploy-local-build.sh - 本地编译并部署

服务器管理

  • startup-ubuntu.sh - 启动服务
  • stop-ubuntu.sh - 停止服务

Redis 管理

  • start-redis-local.sh - 启动本地 Redis
  • start-redis-ubuntu.sh - 启动服务器 Redis
  • install-redis-ubuntu.sh - 安装 Redis

工具

  • check-sensitive-info.sh - 安全检查工具

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages