ISP Install - 服务器自动化部署神器
大约 4 分钟
一键部署,解放双手
还在为服务器环境搭建焦头烂额?ISP Install 来拯救你!一套脚本搞定所有常用服务,从此告别重复劳动 🚀
🎯 项目概要
ISP Install 是一套专为 Linux 系统设计的服务器环境快速部署脚本集合。它的核心理念很简单:从源码编译安装,让你拥有对每一个组件的完全控制权。
无论是搭建 Web 服务器、数据库集群,还是配置 CI/CD 流水线,ISP Install 都能帮你一键搞定!
🖥️ 支持的操作系统
| 系统 | 版本 | 状态 |
|---|---|---|
| CentOS | 7, 8 | ✅ 完全支持 |
| Rocky Linux | 8, 9 | ✅ 完全支持 |
| AlmaLinux | 8, 9 | ✅ 完全支持 |
| RHEL | 7, 8, 9 | ✅ 完全支持 |
| Ubuntu | 18.04, 20.04, 22.04, 24.04 | ✅ 完全支持 |
| Debian | 10, 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/CD | Jenkins 2.440.1, Nexus 3.66.0-02 | 持续集成、制品库 |
| 文件服务 | Pure-FTPd 1.0.53 | FTP 服务器 |
| 目录服务 | OpenLDAP 2.6.13 | LDAP 目录服务 |
| VPN | Libreswan, StrongSwan, PPTP | IPsec/L2TP VPN |
| 邮件服务 | Postfix, Dovecot | 邮件服务器 |
| DNS | BIND | DNS 服务器 |
| 搜索引擎 | Elasticsearch 8.12.2 + IK分词, Logstash, Kibana | ELK 日志分析栈 |
| 其他 | OpenSSL, Tomcat | SSL 库、应用服务器 |
🔧 核心组件
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/CentOS | Ubuntu/Debian |
|---|---|
| openssl-devel | libssl-dev |
| gcc-c++ | g++ |
| ncurses-devel | libncurses-dev |
| zlib-devel | zlib1g-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"
⚠️ 注意事项
- 权限要求:需要 root 权限执行安装脚本
- 网络要求:需要访问外网下载源码包和配置文件
- 系统架构:目前仅支持 x86_64 (AMD64)
- 数据备份:建议在安装前备份重要数据
- 防火墙:安装后需根据服务开放相应端口
🔗 项目链接
GitHub 仓库
如果你正在寻找一套可靠的服务器部署解决方案,ISP Install 绝对值得一试!欢迎 Star ⭐ 和贡献代码 💻