跳至主要內容

ISP Install - 服务器自动化部署神器

布衣云水客大约 4 分钟运维LinuxShell自动化部署DevOps服务器运维

一键部署,解放双手

还在为服务器环境搭建焦头烂额?ISP Install 来拯救你!一套脚本搞定所有常用服务,从此告别重复劳动 🚀

🎯 项目概要

ISP Install 是一套专为 Linux 系统设计的服务器环境快速部署脚本集合。它的核心理念很简单:从源码编译安装,让你拥有对每一个组件的完全控制权。

无论是搭建 Web 服务器、数据库集群,还是配置 CI/CD 流水线,ISP Install 都能帮你一键搞定!


🖥️ 支持的操作系统

系统版本状态
CentOS7, 8✅ 完全支持
Rocky Linux8, 9✅ 完全支持
AlmaLinux8, 9✅ 完全支持
RHEL7, 8, 9✅ 完全支持
Ubuntu18.04, 20.04, 22.04, 24.04✅ 完全支持
Debian10, 11, 12✅ 完全支持

脚本会自动检测操作系统类型,智能使用对应的包管理器(yum/dnf 或 apt),完全不用操心系统差异!


📁 目录结构

.
├── bin/          # 服务管理脚本 (start/stop/restart/status)
├── shell/        # 安装脚本 (从源码编译安装)
├── pkgs/         # 软件包存放目录
├── conf/         # 配置文件模板
├── docs/         # 文档
└── systemd/      # Systemd 服务文件

🚀 快速开始

方式一:一键部署(推荐)

# 初始化服务器
sudo ./shell/init.sh

# 使用预设配置安装
sudo ./install.sh --profile web-server    # Web 服务器
sudo ./install.sh --profile dev-env       # 开发环境
sudo ./install.sh --profile db-server     # 数据库服务器
sudo ./install.sh --profile ci-cd         # CI/CD 服务器

# 交互式选择安装
sudo ./install.sh --select

# 指定组件安装
sudo ./install.sh nginx mysql redis

方式二:单独安装

# 1. 初始化服务器
sudo ./shell/init.sh

# 2. 按需安装软件
sudo ./shell/jdk_install.sh
sudo ./shell/mysql_install.sh
sudo ./shell/nginx_install.sh
sudo ./shell/redis_install.sh

# 3. 使环境变量生效
source /etc/profile

🛠️ 支持的软件

ISP Install 支持的软件覆盖了服务器运维的方方面面:

类别软件说明
Web 服务器Nginx 1.28.2, Apache httpd反向代理、Web 服务
数据库MySQL 8.0.45关系型数据库
缓存/消息Redis 7.4.8, RabbitMQ 3.12.13缓存、消息队列
开发环境JDK 21.0.10, Maven 3.9.6, Node.js LTS, Python 3.12.13, PHP 8.2.26编程语言和构建工具
版本控制Git 2.53.0, Gitblit, SVN代码仓库管理
CI/CDJenkins 2.440.1, Nexus 3.66.0-02持续集成、制品库
文件服务Pure-FTPd 1.0.53FTP 服务器
目录服务OpenLDAP 2.6.13LDAP 目录服务
VPNLibreswan, StrongSwan, PPTPIPsec/L2TP VPN
邮件服务Postfix, Dovecot邮件服务器
DNSBINDDNS 服务器
搜索引擎Elasticsearch 8.12.2 + IK分词, Logstash, KibanaELK 日志分析栈
其他OpenSSL, TomcatSSL 库、应用服务器

🔧 核心组件

shell/common.sh - 通用工具库

提供跨系统兼容的核心功能:

# 加载工具库
source ./shell/common.sh

# 检测系统
detect_os
show_os_info

# 智能安装(自动处理包名差异)
pkg_install_smart gcc-c++ openssl-devel

# 通用函数
check_root          # 检查 root 权限
download_file URL   # 下载文件
compile_install ... # 编译安装

智能包名映射

不同系统的包名差异会自动处理,告别手动查找包名的烦恼:

RHEL/CentOSUbuntu/Debian
openssl-devellibssl-dev
gcc-c++g++
ncurses-devellibncurses-dev
zlib-develzlib1g-dev

🔥 防火墙配置

# 开放服务端口
sudo ./shell/firewall.sh open nginx
sudo ./shell/firewall.sh open mysql
sudo ./shell/firewall.sh open redis

# 查看已开放端口
sudo ./shell/firewall.sh list

# 查看可用服务
sudo ./shell/firewall.sh services

📦 安装位置

所有软件默认安装到 /home/isp/apps/ 目录,结构清晰,便于管理:

/home/isp/apps/
├── mysql/
├── nginx/
├── redis/
├── openldap/
├── java/
├── maven/
└── ...

⭐ 项目优势

1. 🎯 开箱即用

预设多种部署场景配置文件,一条命令即可完成复杂环境搭建:

  • web-server - Web 服务器套餐
  • dev-env - 开发环境套餐
  • db-server - 数据库服务器套餐
  • ci-cd - CI/CD 服务器套餐

2. 🔒 安全优先

  • 所有密码通过环境变量或交互式输入,绝不硬编码
  • 组件更新到最新稳定版本,包含重要安全修复
  • 敏感脚本已标记废弃,不推荐使用

3. 🌐 跨平台兼容

  • 自动检测操作系统类型
  • 智能处理包管理器差异(yum/dnf/apt)
  • 包名映射自动转换

4. 📦 源码编译安装

相比包管理器安装的优势:

  • 版本可控,想装哪个版本就装哪个
  • 编译优化,性能更佳
  • 功能可定制,按需启用/禁用模块

5. 🎛️ 灵活的部署方式

  • 支持一键预设配置
  • 支持交互式选择
  • 支持单独组件安装
  • 满足不同场景需求

⚙️ 环境变量配置

部分安装脚本需要设置环境变量:

# MySQL
export MYSQL_ROOT_PASSWORD="your_secure_password"

# RabbitMQ
export RABBITMQ_ADMIN_PASSWORD="your_rabbitmq_password"

# VPN (StrongSwan)
export VPN_PSK="your_psk_key"
export VPN_XAUTH_PASS="your_xauth_password"

# Maven (Nexus)
export NEXUS_PASSWORD="your_nexus_password"

⚠️ 注意事项

  1. 权限要求:需要 root 权限执行安装脚本
  2. 网络要求:需要访问外网下载源码包和配置文件
  3. 系统架构:目前仅支持 x86_64 (AMD64)
  4. 数据备份:建议在安装前备份重要数据
  5. 防火墙:安装后需根据服务开放相应端口

🔗 项目链接

如果你正在寻找一套可靠的服务器部署解决方案,ISP Install 绝对值得一试!欢迎 Star ⭐ 和贡献代码 💻